2013-09-26 88 views
1

我想爲我的網站創建一個查詢,用戶在其中輸入他的手機號碼,頁面將搜索數據庫(我使用MYSQL)來查找可能的載體。到目前爲止,我嘗試過這樣的事情,搜索查詢的前綴

「選擇CARRIER_NAME從Carrier_info其中prefix像 '前綴%'」

我Carrier_info表:

==== ============ ====== 
ID  carrier_name prefix 
==== ============ ======= 
1  A   88017 
2  B   88019 
3  C   91 
4  D   8801 

的問題是,當我像880171那樣搜索一個數字......它不會給我帶來任何結果。所以,我試着只搜索部分工作的前5位數字。但由於前綴表具有不同的數字位數,例如88017,91,8801,因此會產生問題,我無法專門用前5位數字修復搜索。

任何幫助或建議,將不勝感激。

+0

你需要搜索前5個,還是可以選擇整個前綴如%prefix%? – RobAtStackOverflow

+0

是的,沒有。我需要搜索第一個x位數。問題是x不是固定的。它可以是前5或前2。%前綴%我認爲不適用於我。用戶將輸入像這樣XXXXXXXXXXXXXX,我需要使用這11-15位數字來找出它與我的數據庫匹配。用我目前的數據庫,單個前綴行的最大數字位數是5.我可以假設我不會搜索超過前5位數字。 – muttalebm

回答

1

嘗試這樣的事情,

SELECT Carrier_name FROM Carrier_info WHERE '880171' LIKE CONCAT(`prefix`,"%") 

在上面的查詢prefix是字段名稱,你可以替換880171與您要搜索的任何數字。