This question already has answers here:
How to execute two mysql queries as one in PHP/MYSQL?
(8个答案)
2年前关闭。
我在弄乱OOP mysqli。我偶然发现了这个问题:
运行查询时出错[SQL语法错误;检查与您的MariaDB服务器版本相对应的手册,以找到在'如果不存在的情况下创建表
这是PHP代码:
尝试使用不同的引号,但没有运气。
我还回显了$ sql,将其复制并在phpmyadmin中执行,它运行良好。但是它仍然不会在PHP中做任何事情。
谢谢。
(8个答案)
2年前关闭。
我在弄乱OOP mysqli。我偶然发现了这个问题:
运行查询时出错[SQL语法错误;检查与您的MariaDB服务器版本相对应的手册,以找到在'如果不存在的情况下创建表
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中做任何事情。
谢谢。
最佳答案
使用multi_query代替查询,因为您不仅要对多个查询进行查询。如您所见,该问题在首次查询后立即出现。
http://php.net/manual/en/mysqli.multi-query.php
关于php - SQL查询无法在php中工作,但可以在phpmyadmin中工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43480769/