我正在搞乱OOP mysqli。我偶然发现了这个问题:
运行查询时出错[您的SQL语法出错;检查与您的MariaDB服务器版本对应的手册,以便在#CREI TABLE {NOT} EXISTS
engine
附近使用正确的语法。users
(ID
INT(11)NOT NULL,USERNAME
'第1行
这是PHP代码:
function InstallDB($db){
$sql =
"CREATE DATABASE IF NOT EXISTS `$this->dbname`; ".
"CREATE TABLE IF NOT EXISTS `$this->dbname`.`$this->users` ( ".
"`ID` INT(11) NOT NULL, ".
"`USERNAME` varchar(60) NOT NULL,".
"`PASSWORD` varchar(60) NOT NULL,".
"`EMAIL` varchar(100) NOT NULL,".
"`IMAGE` varchar(250) NULL,".
"`LEVEL` INT(11) NOT NULL DEFAULT '1'".
") ENGINE=InnoDB DEFAULT CHARSET=utf8;".
"CREATE TABLE IF NOT EXISTS `$this->dbname`.`$this->settings` (".
"`DOMAIN` varchar(60) NOT NULL,".
"`SLOGAN` varchar(255) NOT NULL,".
"`EMAIL` varchar(100) NOT NULL".
") ENGINE=InnoDB DEFAULT CHARSET=utf8;";
if(!$result = $db->query($sql)){
die('SQL['.$sql.']<br>There was an error running the query [' . $db->error . ']<br>');
}
echo "Installed!<br>";
}
尝试了不同的引号,没有运气。 我也回应了$ sql,复制它并在phpmyadmin中执行,它运行得很好。但它仍然不会在PHP内部做任何事情。 感谢。
答案 0 :(得分:1)
使用multi_query代替查询,因为您希望多个查询不仅一个。正如您所见,第一次查询后问题就出现了。