MySQL wird verwirrt, weil Sie Ihre Abfragen nicht begrenzen. Fügen Sie nach dem ersten CREATE
ein Semikolon hinzu Aussage:
private function buildDB() {
$sql = <<<MySQL_QUERY
CREATE TABLE IF NOT EXISTS headings (
type VARCHAR(150),
heading VARCHAR(100),
uniqueid VARCHAR(100)
);
CREATE TABLE IF NOT EXISTS titles (
type VARCHAR(150),
heading VARCHAR(100),
uniqueid VARCHAR(100)
)
MySQL_QUERY;
return mysql_query($sql);
}
Stellen Sie außerdem sicher, dass MySQL_QUERY
steht am Anfang der Zeile mit keinen anderen Zeichen, außer vielleicht einem Semikolon , gemäß dem Heredoc Dokumentation
.
Da das obige nicht zu funktionieren scheint, versuchen Sie es mit diesem Code:
private function buildDB() {
$sql1 = "CREATE TABLE IF NOT EXISTS headings (
type VARCHAR(150),
heading VARCHAR(100),
uniqueid VARCHAR(100))";
$sql2 = "CREATE TABLE IF NOT EXISTS titles (
type VARCHAR(150),
heading VARCHAR(100),
uniqueid VARCHAR(100))";
MySQL_QUERY;
return mysql_query($sql1) && mysql_query($sql2);
}
Sie könnten Verwenden Sie mysqli_multi_query()
(die MySQL-Version existiert nicht), aber Sie müssten dann MySQLi verwenden. Der obige Code gibt das logische UND der beiden Abfragen zurück, sodass Sie immer noch eine 0
erhalten zurückgegeben, wenn einer fehlschlägt.