我是PHP的新手,我正在通过编写一个非常基本的注册表单来实践,该表单将信息转储到MySQL数据库中。但是,我遇到了一个问题,即使取了名字,我的程序仍会将帐户添加到SQL表中。 这是我检查名称是否存在的代码:
$sql = "SELECT * FROM accounts WHERE name = '$name'";
$result = $conn->query($sql);
if (mysql_fetch_array($result) === true) {
die("Error: Username has been taken");
} else {
//register account
}
每次运行时,无论名称是什么,程序都会在else语句中运行代码块。如果需要,我可以提供更多信息。
答案 0 :(得分:0)
您可以更改表格并添加使该字段唯一。
答案 1 :(得分:0)
如果您使用mysqli
,请使用。
if ($result->num_rows > 0) {
die("Error: Username has been taken");
}
else {
// register here;
}
P.S不要使用mysql read here 。