【问题标题】:PDO submitting duplicate records?PDO 提交重复记录?
【发布时间】:2013-03-10 22:12:51
【问题描述】:

我的注册码有效,但每次都提交一个副本。例如,如果我尝试提交

Steve Smith stevesmith@gmail.com 123456789

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

Steve Smith stevesmith@gmail.com 123456789

Steve Smith 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";
    }
}

【问题讨论】:

    标签: php mysql database pdo


    【解决方案1】:

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

    $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";
        }
    

    【讨论】:

    • 谢谢!有效!但是 'if(!$adduser->execute()) { echo "$failed"; }'
    • 这有什么问题吗?显然你不能删除它,否则你将不会执行:)
    • if 语句是什么执行了两次?
    • 不,您对同一个方法进行了两次调用。你打电话给$adduser-&gt;execute(); 一个人在一条线上,然后你又打电话给if (!$adduser-&gt;execute())
    猜你喜欢
    • 1970-01-01
    • 2016-02-12
    • 2014-06-24
    • 1970-01-01
    • 2012-12-14
    • 2015-04-14
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    相关资源
    最近更新 更多