在添加新邮政编码之前,尝试查看邮政编码是否已存在:
使用空查询,我得到答案NO 有了搜索字段中的任何内容,即使邮政编码不存在,我也会得到答案。
$search=$_POST['search'];
$result = mysql_query("SELECT zipcodes FROM zipcodes WHERE zipcodes='$search'");
if ($result = $search) {
$search = "yes";
}else{
$search = "no";
}
有什么想法吗? 谢谢。
答案 0 :(得分:4)
你在这一行使用一个等号:
if ($result = $search)
将$result
分配给$search
而不是比较相等,然后始终返回true。使用==
。
另外,请听John Woo关于使用COUNT
或mysql_num_rows
的建议:
$search = $_POST['search'];
$result = mysql_query("SELECT zipcodes FROM zipcodes WHERE zipcodes='$search'");
if (mysql_num_rows($result) > 0) {
$search = "yes";
}else{
$search = "no";
}
答案 1 :(得分:2)
尝试使用COUNT
SELECT COUNT(*) FROM `zipcodes` WHERE` zipcodes = 'value'
如果邮政编码不存在,它将返回0。
答案 2 :(得分:0)
在PHP中,您也可以if (mysql_num_rows($result) > 0)
答案 3 :(得分:0)
echo (mysql_errno($db_object) == 1062) ? 'duplicate' : 'unique';
答案 4 :(得分:0)
尝试更改此行
$result = mysql_query("SELECT zipcodes FROM zipcodes WHERE zipcodes='$search'");
到
$result = mysql_query("SELECT zipcodes FROM zipcodes WHERE zipcodes=\"$search\"");
$ search变量不会在单引号
中打印它答案 5 :(得分:0)
使用
$search=$_POST['search'];
$result = mysql_query("SELECT zipcodes FROM zipcodes WHERE zipcodes='$search'");
if (mysql_num_rows($result) > 0) {
$search = "yes";
}else{
$search = "no";
}