我正在尝试检查数据库中是否存在该值的代码。我的代码是:
$registration_code = $_POST['registration_code'];
$registration_code = mysql_real_escape_string($registration_code);
$checkcustomer = mysql_query("SELECT `customer_no` FROM customer WHERE registration_code = '$registration_code'");
echo $checkcustomer;
if (!$checkcustomer) {
echo "<script language=javascript>alert('Please enter a valid Registration code.')</script>";
}
else{
// some php code
}
而不是回头客户。 ,当我回复$checkcustomer
时,我的查询返回'资源ID#19'。有人可以帮助我????
答案 0 :(得分:1)
您需要使用 mysql_fetch_array 来提取数据
$registration_code = $_POST['registration_code'];
$registration_code = mysql_real_escape_string($registration_code);
$checkcustomer = mysql_query("SELECT `customer_no` FROM customer WHERE registration_code = '$registration_code'");
$val = mysql_fetch_array($checkcustomer);
echo $val;
if (!$val) {
echo "<script language=javascript>alert('Please enter a valid Registration code.')</script>";
}
else{
// some php cpde
}
顺便说一下,不要使用 mysql _ 功能,它们已被弃用且不再维护。使用PDO或 mysqli 功能。
答案 1 :(得分:0)
尝试使用PDO而不是弃用的MySql函数。 还要注意使用mysql_real_escape_string可以导致mysql注入。
要使代码正常工作,您应该使用
$result = mysql_query('your query');
while ($row = mysql_fetch_assoc($result)) {
echo $row['customer_no'];
}
答案 2 :(得分:0)
只需使用mysql_num_rows
if (mysql_num_rows($checkcustomer)) {
echo "<script language=javascript>alert('Please enter a valid Registration code.')</script>";
} else{
// some php code
}
注意: mysql_*
函数已弃用。应使用MySQLi
或PDO_MySQL
扩展名。
答案 3 :(得分:0)
你可以这样做......
if(mysql_num_rows($checkcustomer) == 0) {
//do something
} else {
//do something else
}
它基本上会检查已返回的行数
答案 4 :(得分:0)
使用此
$row = mysql_fetch_assoc($result);
echo $row['customer_no'];
或者如果您只想检查记录是否存在,请检查
mysql_num_rows