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 回答