我有一个正常运行的 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.
如何完成的串联。
我认为您将需要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 字段,然后您可以出于速度原因对其进行索引。