2012-06-27 59 views
0

我有一個功能正常的mySQL搜索系統。PHP 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.串聯如何做到這一點。

+0

offtopic:如果我搜索'x'會發生什麼; DROP TABLE選民; - 你是否阻止SQL注入? –

+0

你經常連續問兩次相同的問題嗎? http://stackoverflow.com/questions/11222735/php-mysql-search-function-join-various-field – Nick

回答

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領域,那麼你就可以建立索引出於速度原因。