0

私は機能しているmySQL検索システムを持っています。

mysql_query("SELECT * FROM electors WHERE constituency = '$constituency' AND ward = '$ward' AND (surname LIKE '$q' OR first_name LIKE '$q') LIMIT 18");

入力した用語(スペースを含む)が「これはどのように行われるか」の連結であるかどうかも検索したいと思いfirst_name ' ' surname.ます。

4

1 に答える 1

0

CONCATが必要になると思います:

mysql_query("SELECT * FROM electors WHERE constituency = '$constituency' AND ward = '$ward' AND (surname LIKE '$q' OR first_name LIKE '$q' OR CONCAT(first_name,' ',surname) LIKE '$q') LIMIT 18");

次のように減らすこともできます。

mysql_query("SELECT * FROM electors WHERE constituency = '$constituency' AND ward = '$ward' AND CONCAT(first_name,' ',surname) LIKE '%$q%' LIMIT 18");

これをそれ自体でfull_nameフィールドにすることを検討してください。そうすれば、速度の理由からインデックスを作成できます。

于 2012-06-27T10:06:43.273 に答える