MySQL bliver forvirret, fordi du ikke afgrænser dine forespørgsler. Tilføj et semikolon efter den første CREATE
erklæring:
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);
}
Sørg også for MySQL_QUERY
er i begyndelsen af linjen med ingen andre tegn, undtagen måske et semikolon , i henhold til Heredoc dokumentation
.
Da ovenstående ikke ser ud til at virke, så prøv denne kode:
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);
}
Du kunne brug mysqli_multi_query()
(MySQL-versionen findes ikke), men du bliver nødt til at bruge MySQLi derefter. Ovenstående kode returnerer den logiske OG af de to forespørgsler, så du stadig får en 0
returneres, hvis en fejler.