MySQL đang trở nên bối rối vì bạn không phân định được các truy vấn của mình. Thêm dấu chấm phẩy sau CREATE
đầu tiên tuyên bố:
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);
}
Ngoài ra, hãy đảm bảo MySQL_QUERY
ở đầu dòng không có ký tự nào khác, ngoại trừ có thể là dấu chấm phẩy , theo Heredoc tài liệu
.
Thấy ở trên có vẻ như không hoạt động, hãy thử mã này:
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);
}
Bạn có thể sử dụng mysqli_multi_query()
(phiên bản MySQL không tồn tại), nhưng sau đó bạn phải sử dụng MySQLi. Đoạn mã trên trả về logic AND của hai truy vấn, vì vậy bạn vẫn nhận được 0
trả lại nếu một cái không thành công.