【发布时间】:2016-09-01 02:51:12
【问题描述】:
我正在创建一个用户管理系统。我希望 php 脚本验证数据库中是否已存在电子邮件地址。我可以更新用户数据。我可以验证正确的电子邮件格式。我的脚本中不起作用的部分是检查电子邮件是否已在使用中的部分。这是不起作用的部分:
if($_POST['email'] !=$_POST['email'])
{
$query_email = "
SELECT
from users
where
email = :email
";
$query_goes = array(
':email' => $_POST['email']
);
try
{
$stmt = $db->prepare($query_email);
$result = $stmt->execute($query_goes);
}
catch (PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$row = $stmt->fetch();
if($row)
{
die("Email already in use...");
}
它抛出的错误:哎呀,运行查询失败:SQLSTATE[23000]:完整性约束违规:1062 Duplicata du champ 'tuskrr@fun.com' pour la clef 'email'
【问题讨论】:
-
您的查询有误。你需要选择一些东西。一列或
* -
我已经修复了查询。我不敢相信我错过了。如何避免重复条目?上面的这段代码我只想在管理员更改用户电子邮件时运行。如果没有更改,则跳过。