MySQL blir förvirrad eftersom du inte avgränsar dina frågor. Lägg till ett semikolon efter den första CREATE
uttalande:
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);
}
Se också till att MySQL_QUERY
är i början av raden med inga andra tecken, förutom kanske ett semikolon , enligt Heredoc dokumentation
.
Eftersom ovanstående inte verkar fungera, pröva den här koden:
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 kunde använd mysqli_multi_query()
(MySQL-versionen finns inte), men du måste använda MySQLi då. Ovanstående kod returnerar den logiska OCH av de två frågorna, så du får fortfarande en 0
returneras om en misslyckas.