MySQL jest zdezorientowany, ponieważ nie ograniczasz swoich zapytań. Dodaj średnik po pierwszym CREATE
oświadczenie:
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);
}
Upewnij się również, że MySQL_QUERY
znajduje się na początku wiersza bez żadnych innych znaków, może z wyjątkiem średnika , zgodnie z Heredoc dokumentacja
.
Ponieważ powyższe wydaje się nie działać, wypróbuj ten kod:
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);
}
możesz użyj mysqli_multi_query()
(wersja MySQL nie istnieje), ale wtedy musiałbyś użyć MySQLi. Powyższy kod zwraca logiczne AND z dwóch zapytań, więc nadal otrzymujesz 0
zwracany w przypadku niepowodzenia.