我看過一堆其他線程有相同的錯誤,但是我的看起來有點不同。我已經檢查過丟失的逗號和內容。無法運行查詢:SQLSTATE [42000]:語法錯誤或訪問衝突:1064
這是原來的代碼不工作:
SELECT `color_name`, `dna_sample` FROM `horse_color_base` WHERE `dna_sample` = $dna
但是,如果你改變$dna
到"eeee aaaa"
(什麼$dna
值),它完美的作品。
SELECT `color_name`, `dna_sample` FROM `horse_color_base` WHERE `dna_sample` = 'eeee aaaa'
驗證錯誤讀取:
無法運行查詢:SQLSTATE [42000]:語法錯誤或訪問衝突:1064您的SQL語法錯誤;檢查對應於你的MySQL服務器版本在1號線
好像它打破了$ DNA變量,它擰一切爲使用近「AAAA」正確的語法手冊。
關於如何使這件事情與變量一起工作的想法或想法?
對於dna
和dna_sample
列,我使用排序規則latin1_general_cs
,因爲我需要它們區分大小寫。
該變量未加引號。請參閱[何時使用單引號,雙引號,反引號](http://stackoverflow.com/questions/11321491/when-to-use-single-quotes-double-quotes-and-backticks) – 2014-08-31 01:53:55
要使其工作爲你有它,'$ dna'的值必須_literally_包含引號'$ dna =''eeee aaaa'「;'這是非常罕見的。更常見的是'WHERE dna_sample ='$ dna'' – 2014-08-31 01:54:51