在sql語句中,以下匹配條件可以正確查找以A開頭且在使用PHP 5.6.30的MAMP環境中運行時具有撇號的姓。爲什麼字符串匹配在本地主機上而不是在web主機上工作?
"m.last_name LIKE '%A\'%'"
但是,運行php 5.3的託管環境中的相同代碼會引發sql錯誤。
我假設錯誤必須與php.ini文件設置有關的轉義字符。
任何人都可以在正確的方向指向我嗎?
在sql語句中,以下匹配條件可以正確查找以A開頭且在使用PHP 5.6.30的MAMP環境中運行時具有撇號的姓。爲什麼字符串匹配在本地主機上而不是在web主機上工作?
"m.last_name LIKE '%A\'%'"
但是,運行php 5.3的託管環境中的相同代碼會引發sql錯誤。
我假設錯誤必須與php.ini文件設置有關的轉義字符。
任何人都可以在正確的方向指向我嗎?
使用兩個單引號''來轉義撇號(')字符。
"m.last_name LIKE '%A''%'"
希望它會有所幫助。
我們在代碼中發現了一個錯誤。我們錯過了更新模塊進行類似的搜索。我的錯!謝謝您的幫助。
魔術引號?我猜測這是用單引號 – Martijn
在使用「m.last_name LIKE'%A''''' – Pirate
*」引發sql錯誤時嘗試使用兩個單引號。「* - 您對我們有什麼期望? ?猜測你得到了什麼錯誤信息?發佈錯誤消息,發佈完整的SQL查詢,發佈一些PHP代碼,如果需要澄清問題。 – axiac