クエリを区切っていないため、MySQLは混乱しています。最初のCREATE
の後にセミコロンを追加します ステートメント:
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);
}
また、MySQL_QUERY
を確認してください 行の先頭にあり、セミコロンを除いて他の文字はありません 、Heredocによるドキュメント
。
上記が機能していないように見えるので、このコードを試してみてください:
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);
}
あなたはできた mysqli_multi_query()
を使用します (MySQLバージョンは存在しません)が、MySQLiを使用する必要があります。上記のコードは2つのクエリの論理積を返すため、0
を取得します。 1つが失敗した場合に返されます。