以下是我直接在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中有效。请让我知道我做错了什么?
答案 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;