php
  • sql
  • 2013-10-26 23 views 0 likes 
    0

    我有一个2列“选项”和“值”的表。他们都是varchar(50)。选项设置为主要。特定的选择/更新SQL命令没有运行

    我有这样的选择命令

    mysqli_query($con,"SELECT value, option FROM menu_theme WHERE option='menu_height'"); 
    

    而且我有这个更新命令

    mysqli_query($con, "UPDATE menu_theme SET value='$_POST[value]' WHERE option='$_POST[command]'") or die($con->error); 
    

    的,因为有些问题近“选项”语法这两个命令的突破。我不知道为什么。

    • 与数据库的连接没问题。
    • UPDATE命令正在接收发布的信息正常。

    这是我接收到时,它试图使更新命令

    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 'option='menu_height'' at line 1 
    
    +0

    尝试把选项反引号进行转义。 Option是mysql中的关键字http://dev.mysql.com/doc/mysqld-version-reference/en/mysqld-version-reference-reservedwords-5-6.html – Laurence

    +0

    使用反引号和使用反引号单引号? –

    +0

    是的,反引号是用于转义名称,引号是用于字符串文字。当我说反向选项时,我的意思就像'\'选项\'='menu_height'' – Laurence

    回答

    1

    OPTION错误是一个MySQL reserved word需要被封闭在反引号。

    即:

    mysqli_query($con,"SELECT value, `option` FROM menu_theme WHERE option='menu_height'"); 
    
    +0

    真的很感谢帮助。我得到了它的工作。 –

    +0

    @JoshWelfelel不客气,很高兴我能帮上忙。 –

    相关问题