SQL查询不在php中工作,但在phpmyadmin中工作
我在和OOP mysqli玩。我偶然发现了这个问题: 运行查询时出错[您的SQL语法有错误;请检查与您的MariaDB服务器版本对应的手册,以了解在第1行的“CREATE TABLE IF NOT EXISTS engine.users ID INT11 NOT NULL,USERNAME”附近使用的正确语法] 这是PHP代码:SQL查询不在php中工作,但在phpmyadmin中工作,php,mysql,mysqli,Php,Mysql,Mysqli,我在和OOP mysqli玩。我偶然发现了这个问题: 运行查询时出错[您的SQL语法有错误;请检查与您的MariaDB服务器版本对应的手册,以了解在第1行的“CREATE TABLE IF NOT EXISTS engine.users ID INT11 NOT NULL,USERNAME”附近使用的正确语法] 这是PHP代码: function InstallDB($db){ $sql = "CREATE DATABASE IF NOT EXISTS `$this-&
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内部执行任何操作。
谢谢。使用多查询代替查询,因为您希望多个查询而不是一个查询。正如您所看到的,问题在第一次查询后立即出现
为什么所有的连接?简化代码。PHP允许字符串中的换行符。使用它们。我认为在一个查询中使用multiple命令会有问题,因为错误消息出现在第二行。@johncode这只是尝试多个操作的结果:SYep,有效。我在想这个,我甚至在谷歌上搜索过,但我能找到的只是我不想使用的交易。谢谢。你能接受我的回答吗?当然,有2分钟的冷却时间,所以我不能马上做。再次感谢你。