【问题标题】:MySQL error:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near [closed]MySQL 错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 [关闭] 附近使用的正确语法
【发布时间】:2013-06-30 01:20:58
【问题描述】:

错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 ''' WHERE username=32112' 附近使用正确的语法

PHP 代码:

mysql_query ("SELECT * FROM '$iAccount_table' WHERE username=$user") or die(mysql_error());

【问题讨论】:

  • 1) 表名包含在 ` 中,而不是 ' 2) 确保三重检查变量包含的内容(关键字:sql 注入)或更好:使用准备好的语句。

标签: php mysql


【解决方案1】:

在 $iAccount_table 变量中使用 ` 而不是 '。它因此而出错。

更新:

mysql_query ("SELECT * FROM `$iAccount_table` WHERE username=$user") or die(mysql_error());

【讨论】:

    【解决方案2】:

    我假设“用户名”是您数据库中的文本/字符字段。试试这个代码:

    mysql_query ("SELECT * FROM " . $iAccount_table . " WHERE username='" . $user . "'") or die(mysql_error());
    

    我希望这对您有所帮助。

    【讨论】:

      【解决方案3】:

      改变

      mysql_query ("SELECT * FROM '$iAccount_table' WHERE username=$user") or die(mysql_error());
      

      mysql_query ("SELECT * FROM `$iAccount_table` WHERE username=$user") or die(mysql_error());
      

      希望这会有所帮助。

      【讨论】:

        【解决方案4】:

        使用反引号(重音)`而不是单引号

        "SELECT * FROM `$iAccount_table` WHERE username=$user"
        

        【讨论】:

          猜你喜欢
          • 2011-08-07
          • 2023-04-05
          • 2012-05-02
          • 2013-07-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多