2012-09-26 83 views
0

我在搜索MySQL數據庫時遇到問題。數據庫歸類爲utf8_general_ci,表格歸類爲latin1_swedish_ci。我的問題是這樣的:無法正確搜索數據庫'

用戶條目存儲爲(假的隱私名稱)T'quila Smith,真實姓名是T'quila Smith

我的web應用程序需要能夠按名稱正確搜索該用戶,但搜索的名稱爲T'quila,而不是T'quila。我試過使用$student_name = str_replace("'", "'", $student_name);,它(當用echo進行測試時)打印出T'quila。但是,數據庫無法通過該搜索在數據庫中找到此用戶。

任何人都可以提供一些協助嗎?我一直在爲可能做到這一點而感到茫然。我研究過字符集(我認爲這可能是問題),但我似乎無法得到這個工作。非常感謝誰能幫助我!

+0

您說史密斯先生的名字以實際形式存儲在表中(與'相比,不是撇號)。你怎麼知道?如果你搜索'WHERE NAME LIKE'%39%',會發生什麼?當你搜索'WHERE NAME LIKE'%\'%''時會發生什麼? '史密斯'%'如何說'?史密斯先生的名字在任何這些情況下都會彈出嗎?注意:我並不是建議您在製作中使用這種搜索,而只是爲了確保您知道名稱中的撇號如何存儲。這些愛爾蘭風格的名字是一個臭名昭着的痛苦,在脖子上得到正確的。祝你好運。 –

+0

感謝Ollie。這讓我更接近獲得正確的結果。我認爲我現在需要的只是一段時間來修補這個應用程序,我將能夠得到它。謝謝你的幫助! – mrinehart93

回答

1

OP在這裏(不同的帳戶...不在工作)。我可以通過PHPMyAdmin訪問數據庫,所以我可以看到表中的所有行。由於我現在不在工作,我無法嘗試你的建議,但我會在以後。感謝您的建議,但!