2012-07-11 71 views
4

我在mysql數據庫表中有名稱,如Mohan Krishna。我們如何使用php搜索名稱爲mohankrishna的名稱來搜索該名稱?從數據庫中搜索名字

+0

您可以使用LIKE或RLIKE,既會爲你工作 – 2012-07-11 11:50:53

+0

解釋一些更多!單欄包含「莫漢克裏希納」? – manurajhada 2012-07-11 11:52:05

回答

6
SELECT * FROM tablename 
WHERE LOWER(REPLACE(name,' ','')) LIKE LOWER('%mohankrishna%') 
+0

這就是我的想法。當你開始考慮所有的可能性時,它會讓你頭暈目眩,不是。順便說一句,我認爲LIKE不區分大小寫,所以LOWER是不需要的。 – Pete 2012-07-11 11:57:04

1

我不是100%確定,但可能是一個好方法。

一種方法是,使用MySQL的全文功能。

SELECT中使用LIKE的另一種方法 - 查詢。

SELECT * FROM users WHERE username LIKE "mohankrishna";

但我不是很熟悉,我不知道MySQL是如何寬容給你確切的記錄。

+2

它不會找到莫漢克裏希納 – Blaster 2012-07-11 11:51:21

1
select * from table where where replace(name," ","") like '%mohankrishna%' 
+0

它不會找到莫漢克裏希納 – Blaster 2012-07-11 11:54:13

+0

@manurajhada:對不起,我沒有得到的問題,現在答案更新 – 2012-07-11 11:57:01

1

如:SELECT column_1 from prefix_my_table WHERE column_2 LIKE '%Mohan%';

+1

這並不回答他想要搜索的問題 – Blaster 2012-07-11 11:52:55

+1

爲'mohankrishna'不爲'mohan'! – manurajhada 2012-07-11 11:53:18