0

在添加新邮政编码之前尝试查看邮政编码是否已经存在:

使用空查询,我得到答案 NO 搜索字段中的任何内容,即使邮政编码不存在,我也会得到肯定的答案。

$search=$_POST['search'];
$result = mysql_query("SELECT zipcodes FROM zipcodes WHERE zipcodes='$search'");
if ($result = $search) {
$search = "yes";
}else{
$search = "no";
}

有任何想法吗?谢谢你。

4

6 回答 6

4

您在此行上使用一个等号:

if ($result = $search)

这是分配$result$search不是比较相等,然后总是返回true。使用==.

另外,请接受 John Woo 关于使用COUNTor的建议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";
}
于 2012-09-10T16:13:24.713 回答
2

尝试使用COUNT

SELECT COUNT(*) FROM `zipcodes` WHERE` zipcodes = 'value'

如果邮政编码不存在,它将返回 0。

于 2012-09-10T16:12:50.263 回答
0

尝试更改此行

$result = mysql_query("SELECT zipcodes FROM zipcodes WHERE zipcodes='$search'");

$result = mysql_query("SELECT zipcodes FROM zipcodes WHERE zipcodes=\"$search\"");

$search 变量不会在单引号内打印它的值

于 2012-09-10T16:15:44.063 回答
0

在 PHP 你也可以做if (mysql_num_rows($result) > 0)

于 2012-09-10T16:14:12.590 回答
0
echo (mysql_errno($db_object) == 1062) ? 'duplicate' : 'unique';
于 2012-09-10T16:14:45.757 回答
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";
}
于 2012-09-10T16:33:00.340 回答