我一直在尝试根据复选框中的输入调整mysql SELECT语句。php代码将勾选的复选框收集到一个数组中,将它们分解成逗号分隔的列表,然后使用in语句运行查询(如本文所述)。
生成的查询显示为SELECT * FROM events WHERE Discipline IN (SJ,OTHER)
,据我所知,这是一个格式正确的查询。
从php代码运行时,这显示为一个无效查询。当我使用phpmyadmin运行查询时,我收到以下消息:
#1054 - Unknown column 'SJ' in 'where clause'
我想知道是否有人能告诉我为什么那个查询会产生错误?
尝试在in子句中的值周围加引号:
SELECT * FROM events WHERE Discipline IN ('SJ','OTHER')
如果SJ和OTHER是字符串文字使用:
SELECT * FROM events WHERE Discipline IN ('SJ','OTHER')