2
我有搜索表單來搜索用戶名稱。問題是,在我的數據庫中,我有一個單獨的名字和姓氏列表。這是我的查詢目前看起來像(這是一個PHP腳本中,和$項搜索輸入):在多列中搜索多個術語
SELECT * FROM profiles WHERE firstname LIKE '%$term%' OR lastname LIKE '%$term%'
此工作正常時,用戶只需輸入一個名字或姓氏,但對於全名稱,如「約翰史密斯」,這將無法正常工作。
如何修改我的查詢和/或php腳本來有效解決此問題?例如,我應該先分割字符串還是等等?
不幸的是,這並不適合我。我現在使用MATCH和AGAINST,但有一個缺點,即「artin」這個詞在結果中不會顯示「Martin」,但至少「marti」會這樣。是的,我不使用PDO只是爲了簡單,我通常使用mysqli準備語句:) –
但是你沒有使用準備好的語句,或者如果你是,你沒有正確地做,因爲你正在構建你的SQL來自程序外的變量的聲明。 –
我知道。我「通常」使用預先準備好的語句,但是我並沒有在這裏使用它,僅僅是因爲我不能被打擾,並且因爲它對我想知道的沒有什麼影響:查詢結構 –