无法让mysql使用in语句识别查询

时间:2012-01-12 15:17:18

标签: mysql phpmyadmin

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

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

如果SJ和OTHER使用字符串:

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