2012-01-12 57 views
2

我一直在嘗試根據複選框的輸入來調整mysql SELECT語句。 php代碼將勾選的複選框收集到一個數組中,將它們打包成逗號分隔的列表,然後使用in語句運行查詢(詳見here)。無法讓mysql在語句中識別查詢

查詢生成出來SELECT * FROM events WHERE Discipline IN (SJ,OTHER)這是一個格式正確的查詢,據我所知。

從php代碼運行時,這顯示爲無效查詢。當我運行使用phpMyAdmin查詢,我收到此消息:

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

我想知道如果有人能告訴我爲什麼查詢生成錯誤?

回答

2

嘗試把周圍的值引號IN子句中:

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

,對於查詢工作。 不幸的是,我現在不得不說服php代碼在用逗號分隔列表之前用引號包裝這些字符串。 – 2012-01-12 17:14:26

0

如果SJ和其他的字符串文字使用:

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