MySQL se está confundiendo porque no estás delimitando tus consultas. Agregue un punto y coma después del primer CREATE
declaración:
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);
}
Además, asegúrese de que MySQL_QUERY
está al principio de la línea sin otros caracteres, excepto tal vez un punto y coma , según el Heredoc documentación
.
Al ver que lo anterior no parece funcionar, prueba 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);
}
podrías usa mysqli_multi_query()
(la versión de MySQL no existe), pero entonces tendrías que usar MySQLi. El código anterior devuelve el AND lógico de las dos consultas, por lo que sigue obteniendo un 0
devuelto si uno falla.