我真的被打我的頭掛在牆上與這一個,我可以使用一些幫助。我有一個少於900條記錄的MYSQL數據庫。我必須跨多列進行全文搜索,但似乎並不奏效。當我搜索「LName」字段時,它將顯示一些記錄,例如,如果我搜索「Smith」,它將返回7行,當數據庫包含8個記錄時。當我搜索單個姓氏「Albritton」時,它不會當我知道它存在的時候根本就沒有發現它。數據庫中的許多記錄都是如此。即使我知道它確實存在,但它並不存在。MYSQL/PHP的搜索沒有找到的所有記錄在數據庫
我是做FROM/SELECT/WHERE /或跨LNAME,FNAME,城市,國家等進行搜索,但它只能搜索LNAME,仍然只會返回部分結果。
後上網查詢的時間,我決定在表上創建一個索引和搜索索引WHERE匹配搜索,其工作,但我仍然得到同樣的效果有限。我使用PHPMYADMIN並運行分析和修復,但它表示它很好,沒有任何改變。
從我讀過,有一張桌子這個小,我最好不使用索引的一切,我很好這一點,但似乎沒有正常工作。
此外,在所有我創建索引的基數是「1」,這似乎並不正確。
我要在這裏貼上我的search.php。請原諒這一切,我一直在嘗試一些東西。任何幫助表示讚賞。
/* $result = mysql_query ("SELECT * FROM attorney WHERE lname LIKE '%$keyword%'
OR
fname LIKE '%$keyword%'
OR
phone LIKE '%$keyword%'
OR
bizname LIKE '%$keyword%'
OR
address LIKE '%$keyword%'
OR
city LIKE '%$keyword%'
OR
zip LIKE '%$keyword%'
ORDER BY if(lname = '' or lname is null,1,0), lname ASC, fname $limit"); */
$result = mysql_query ("SELECT * FROM attorney USE INDEX (index1) WHERE MATCH (lname, fname, city, state, zip) AGAINST ('%$keyword%' IN BOOLEAN MODE)
");
$row = mysql_fetch_array($result);
if (!$result)
{
die("Error: Data not found..");
}
等等