php - PDO 提交重复记录?

标签 php mysql database pdo

我的注册码有效,但每次都重复提交。例如,如果我尝试提交

史蒂夫·史密斯 stevesmith@gmail.com 123456789

它会在数据库中出现两次,像这样

史蒂夫·史密斯 stevesmith@gmail.com 123456789

史蒂夫·史密斯 stevesmith@gmail.com 123456789

这是我的代码

$failed         = "<p class='errormsg'>Registration failed!</p>";
$register       = "<p class='errormsg'>Thank you for registering $firstname $lastname</p>";
$adduser = $con->prepare("INSERT INTO basicuserinfo(email, password, firstname, lastname) VALUES(:email, :password, :firstname, :lastname)");
$adduser->bindValue(':email', $email);
$adduser->bindValue(':password', $hash);
$adduser->bindValue(':firstname', $firstname);
$adduser->bindValue(':lastname', $lastname);
$adduser->execute();
    if(!$adduser->execute())
    {
    echo "$failed";
    }
    else
    {
    echo "$register";
    }
}

最佳答案

因为你调用了两次execute,删除第一个execute

$failed         = "<p class='errormsg'>Registration failed!</p>";
$register       = "<p class='errormsg'>Thank you for registering $firstname $lastname</p>";
$adduser = $con->prepare("INSERT INTO basicuserinfo(email, password, firstname, lastname) VALUES(:email, :password, :firstname, :lastname)");
$adduser->bindValue(':email', $email);
$adduser->bindValue(':password', $hash);
$adduser->bindValue(':firstname', $firstname);
$adduser->bindValue(':lastname', $lastname);
// $adduser->execute();    // <<== this should be removed,
                           //  the reason for duplicate records
    if(!$adduser->execute())
    {
       echo "$failed";
    }
    else
    {
       echo "$register";
    }

关于php - PDO 提交重复记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15328301/

相关文章:

php - 编辑数据后更新失败[无错误]

php - Cakephp 复杂查询构建

javascript - 如何改进我的 MongoDB 结构?

c# - WPF 数据绑定(bind) : database or objects?

php - 人们曾经使用过variable.php 文件吗?

php - 如何格式化括号部分中的 session 变量

php - 通过 Android Studio 使用 MySQL 数据库登录应用程序

php - 如何在 Laravel 中使用数据库事务

mysql - SQOOP Mysql导入Hive报错 用户不属于hive

mysql - 与多个表相关的字段