MySQL si sta confondendo perché non stai delimitando le tue query. Aggiungi un punto e virgola dopo il primo CREATE
dichiarazione:
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);
}
Inoltre, assicurati MySQL_QUERY
è all'inizio della riga con nessun altro carattere, tranne forse un punto e virgola , come da Heredoc documentazione
.
Visto che quanto sopra non sembra funzionare, prova questo codice:
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);
}
Potresti usa mysqli_multi_query()
(la versione MySQL non esiste), ma dovresti usare MySQLi allora. Il codice sopra restituisce l'AND logico delle due query, quindi ottieni comunque un 0
restituito se uno fallisce.