PHP - 检查SQL中是否已存在索引

时间:2017-08-03 21:50:58

标签: php mysql

我是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语句中运行代码块。如果需要,我可以提供更多信息。

2 个答案:

答案 0 :(得分:0)

您可以更改表格并添加使该字段唯一。

答案 1 :(得分:0)

如果您使用mysqli,请使用。

if ($result->num_rows > 0) { 
 die("Error: Username has been taken"); 
}
else {
// register here;
}

P.S不要使用mysql read here