近期在使用MySQL查詢的時(shí)候,發(fā)現(xiàn)了一個(gè)問(wèn)題,就是使用LIKE關(guān)鍵字查詢時(shí)不能在它后面直接跟變量。例如:
SELECT * FROM table WHERE column LIKE '$variable%'
這樣的語(yǔ)句會(huì)報(bào)錯(cuò),提示MySQL語(yǔ)法錯(cuò)誤。
為了解決這個(gè)問(wèn)題,我們需要在變量前后加上百分號(hào)來(lái)進(jìn)行模糊查詢。例如:
$var_with_percent = '%' . $variable . '%'; SELECT * FROM table WHERE column LIKE '$var_with_percent';
這樣就可以進(jìn)行模糊查詢了。
原因是因?yàn)樵贛ySQL中,LIKE后面必須跟一個(gè)字符串,而不能跟一個(gè)變量。所以我們需要將變量轉(zhuǎn)換為字符串再進(jìn)行查詢。
結(jié)束語(yǔ):處理MySQL語(yǔ)句的時(shí)候一定要注意語(yǔ)法的正確性,遵循MySQL的語(yǔ)法規(guī)范,以免出現(xiàn)錯(cuò)誤。