我试图搜索多个字段(zc_city,zc_zip和zc_state),匹配用户输入的单个值。这三列应该包含在结果中。这是我现在有:SELECT DISTINCT多字段搜索?
$q = strtolower($_GET["q"]);
if (!$q) return;
$sql = "SELECT DISTINCT zc_city AS zcity FROM search_zipcodes WHERE zc_city LIKE '$q%'";
$rsd = mysql_query($sql);
while($rs = mysql_fetch_array($rsd)) {
$zcity = $rs['zcity'];
echo "$zcity\n";
}
表的结构为:
CREATE TABLE search_zipcodes (
zc_zip VARCHAR(5),
zc_lat FLOAT,
zc_lon FLOAT,
zc_city VARCHAR(80),
zc_state CHAR(2)
);
请注意,上面的代码(它是当前的形式)可以SQL注入... – ChristopheD 2010-04-03 00:12:01
谢谢,我会添加$ q = mysql_real_escape_string(strtolower($ _ GET [“q”])); – Patrick 2010-04-03 00:25:27
“search_zipcodes”的结构是什么?什么是独特的钥匙? – Thomas 2010-04-03 00:41:33