我試圖創建一個mysql查詢,它將從數據庫中選擇soundex等價的姓氏。 在php中,我生成了soundex代碼:不同的soundex值php和mysql
$ sxname = soundex($ name);
,然後我建了MySQL查詢
$query = "SELECT *
FROM database
WHERE soundex(surname)
LIKE '$sxname'"
;
也能正常工作了很多姓氏,但不是爲別人 - 比如CAWS。 CAWS的php soundex值是C200,但mysql值是C000。
有沒有解決這些差異的方法?
我曾嘗試使用,因此兩者都在PHP創建了一個功能:
function mysql_soundex($name)
{
$snname = soundex($name);
return $snname;
}
,並調用它:
$query = "SELECT *
FROM database
WHERE mysql_soundex('surname')
LIKE '$sxname'"
;
但是,這也不能工作。
你的第二個方法永遠不會工作。你不能從PHP聲明函數來使用MySQL。 – RandomSeed