MySQL се обърква, защото не разграничавате заявките си. Добавете точка и запетая след първия CREATE
изявление:
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);
}
Също така се уверете, че MySQL_QUERY
е в началото на реда сбез други знаци, освен може би точка и запетая , съгласно Heredoc документация
.
Виждайки, че горното изглежда не работи, опитайте този код:
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);
}
Вие можете използвайте mysqli_multi_query()
(версията на MySQL не съществува), но тогава ще трябва да използвате MySQLi. Горният код връща логическото И на двете заявки, така че все още получавате 0
връща се, ако някой не успее.