我需要确认注册网站的用户输入的唯一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();
}
应该解决问题:)