为什么这个查询在mysql中工作,而不是在PHP中工作

时间:2014-02-23 10:59:42

标签: php mysql

以下是我直接在mysql中运行的查询然后它就像一个魅力,但当我使用相同的查询从PHP使用预处理语句,然后它没有。我很困惑,为什么会发生这种情况:

mysql: update login set password='pass', email='email@here.tv' where email = 'wrong@email.com'
$wadb_login_stmt = $con->prepare("update login set password=?, email=? where email = ?");
    $wadb_login_stmt->bind_param("sss", $pass, $email,$email ); // s means only string input is allowed
    $wadb_login_stmt->execute() ;

如果我在where子句中使用用户名where username = ?并将其绑定,则查询在php中有效。请让我知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

$wadb_login_stmt = $con->prepare("update login set password=?, email=? where email = ?");

在这里,您可以(如果您想要相同的电子邮件): $wadb_login_stmt = $con->prepare("update login set password=? where email = ?"); 为什么要插入两次电子邮件?如果不起作用,请使用echo $wadb_login_stmt->error;