duanshaiduhao2471
2017-04-18 19:37
浏览 31
已采纳

SQL查询无法在php中工作但在phpmyadmin中工作[重复]

This question already has an answer here:

I am messing around with OOP mysqli. And I stumbled upon this problem:

There was an error running the query [You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'CREATE TABLE IF NOT EXISTS engine.users ( ID INT(11) NOT NULL, USERNAME ' at line 1]

This is the PHP code:

    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>";
}

Tried different quote marks, no luck. I also echoed the $sql, copied it and executed in phpmyadmin, it worked perfectly. But still it won't do anything inside of PHP. Thanks.

</div>

图片转代码服务由CSDN问答提供 功能建议

此问题已经存在 这里有一个答案:

  • 如何在PHP / MYSQL中执行两个mysql查询? 8 answers

    我正在搞乱 OOP mysqli。 我偶然发现了这个问题:

    运行查询时出错[您的SQL语法有错误; 查看与您的MariaDB服务器版本对应的手册,以便在'CREATE TABLE IF NOT EXISTS engine 附近使用正确的语法。 users ID INT (11)NOT NULL,第1行的 USERNAME '

    这是PHP代码:

      function InstallDB($ db){
     $ sql = 
    “CREATE DATABASE IF NOT NOT EXISTS` $ this-&gt; dbname`;”。
    “CREATE TABLE IF NOT NOT EXISTS` $ this-&gt  ; dbname`。$ this-&gt; 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 NOT EXISTS` $ this-&gt; dbname`。$ this-&gt; settings`(“  。
    “`DOMAIN` varchar(60)NOT NULL,”。
    “`SLOGAN` varchar(255)NOT NULL,”。
    “``EMAIL` varchar(100)NOT NULL”。
    “)ENGINE  = InnoDB DEFAULT CHARSET = utf8;“; \  n 
     if(!$ result = $ db-&gt; query($ sql)){
     die('SQL ['。$ sql。']&lt; br&gt;运行查询时出错['。  $ db-&gt;错误。  ']&lt; br&gt;'); 
    } 
     
     echo“已安装!&lt; br&gt;”; 
    } 
       
     
     

    尝试不同的引号 ,没有运气。 我也回应了$ sql,复制它并在phpmyadmin中执行,它运行得很好。 但它仍然不会在PHP内部做任何事情。 谢谢。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题