MySQL devient confus parce que vous ne délimitez pas vos requêtes. Ajouter un point-virgule après le premier CREATE
déclaration :
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);
}
Assurez-vous également que MySQL_QUERY
est au début de la ligne avec aucun autre caractère, sauf peut-être un point-virgule , selon le Heredoc documents
.
Étant donné que ce qui précède ne semble pas fonctionner, essayez ce code :
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);
}
Vous pourriez utilisez mysqli_multi_query()
(la version MySQL n'existe pas), mais vous devrez alors utiliser MySQLi. Le code ci-dessus renvoie le ET logique des deux requêtes, vous obtenez donc toujours un 0
renvoyé en cas d'échec.