我需要确认注册网站的用户输入的唯一16位数字是他/她之前输入的唯一数字。

相关的数据库信息是16位数字存储在名为card1的列中,整个表的名称为users,而用户输入的数字存储在$card1中。

这是我到目前为止所拥有的...

$query2 = "SELECT card1 FROM users WHERE card1='$card1' LIMIT 1";
$result2 = smart_mysql_query($query2);

if (mysql_num_rows($result2) != 0)
{
    header ("Location: register.php?msg=exists");
    exit();
}


其想法是它将找到数据库中已经存在的所有示例,如果找到重复的示例,它将显示并显示错误消息。

问题在于,即使有重复,它仍继续允许用户进行注册(将其注册表格提交给数据库)。在此代码块之后,立即插入对db的插入调用,其中包含从表单收集的所有用户信息。

注意:我对处理PHP错误消息不是很熟悉,我所使用的只是在示例代码的另一个实例中找到的示例。

最佳答案

进行如下if语句:

$query2 = "SELECT * FROM users WHERE card1='$card1'";
$result2 = mysql_query($query2);

if ($result2 !== false)
{
   header ("Location: register.php?msg=exists");
   exit();
}


应该解决问题:)

10-01 12:20