【问题标题】:Unable to get mysql to recognise query using in statement使用 in 语句无法让 mysql 识别查询
【发布时间】:2012-02-08 21:07:15
【问题描述】:

我一直在尝试根据复选框的输入来调整 mysql SELECT 语句。 php 代码将勾选的复选框收集到一个数组中,将它们内爆到一个逗号分隔的列表中,然后使用 in 语句运行查询(详细信息 here)。

生成的查询是SELECT * FROM events WHERE Discipline IN (SJ,OTHER),据我所知,这是一个格式正确的查询。

从 php 代码运行时,这显示为无效查询。当我使用 phpmyadmin 运行查询时,我收到以下消息:

#1054 - Unknown column 'SJ' in 'where clause'

我想知道是否有人能告诉我为什么该查询会产生错误?

【问题讨论】:

    标签: mysql phpmyadmin


    【解决方案1】:

    如果 SJ 和 OTHER 是字符串文字使用:

     SELECT * FROM events WHERE Discipline IN ('SJ','OTHER')
    

    【讨论】:

      【解决方案2】:

      尝试在 IN 子句中的值周围加上引号:

      SELECT * FROM events WHERE Discipline IN ('SJ','OTHER')
      

      【讨论】:

      • 这适用于查询。不幸的是,我现在必须说服 php 代码将字符串用引号括起来,然后再将它们内爆到逗号分隔的列表中。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      • 2015-12-23
      • 2023-04-01
      • 1970-01-01
      • 2020-12-02
      • 2015-04-02
      • 2018-10-06
      相关资源
      最近更新 更多