O MySQL está ficando confuso porque você não está delimitando suas consultas. Adicione um ponto e vírgula após o primeiro
CREATE
declaração: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);
}
Além disso, certifique-se de que
MySQL_QUERY
está no início da linha com nenhum outro caractere, exceto talvez um ponto e vírgula , conforme o Heredoc documentação
. Visto que o acima não parece funcionar, experimente este código:
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);
}
Você poderia use
mysqli_multi_query()
(a versão do MySQL não existe), mas você teria que usar o MySQLi então. O código acima retorna o AND lógico das duas consultas, então você ainda obtém um 0
devolvido se um falhar.