-2

我正在尝试检查该值是否存在于数据库中的代码。我的代码是:

$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”。有人可以帮我吗????

4

5 回答 5

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 函数。

于 2013-08-30T08:54:13.587 回答
0

尝试使用 PDO 而不是已弃用的 MySql 函数。另请注意,使用 mysql_real_escape_string 会导致 mysql-injection。

要使您的代码正常工作,您应该使用

$result = mysql_query('your query');
while ($row = mysql_fetch_assoc($result)) {
    echo $row['customer_no'];
}
于 2013-08-30T08:55:33.047 回答
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_*功能已弃用。应该使用 or 扩展名MySQLiPDO_MySQL

于 2013-08-30T08:55:35.513 回答
0

你可以这样做...

if(mysql_num_rows($checkcustomer) == 0) {
    //do something
} else { 
    //do something else
}

它基本上会检查返回了多少行

于 2013-08-30T08:56:42.767 回答
0

用这个

$row = mysql_fetch_assoc($result);
echo $row['customer_no'];

或者如果你只是想检查记录是否存在然后检查

mysql_num_rows
于 2013-08-30T08:57:35.210 回答