1

データベースからsoundexに相当する姓を選択するmysqlクエリを作成しようとしています。PHP では、次の方法で soundex コードを作成しました。

$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'"
;

しかし、それもうまくいきませんでした。

4

1 に答える 1