我无法使最后2个回声工作,即使更新查询失败,它仍然显示成功.如果有人对此代码有任何建议,请在任何一行进行改进,请做!
<?PHP
if(!empty($_POST['username']) && !empty($_POST['answer'])) {
$username = $_POST['username'];
$idfetch = MysqL_query("SELECT id FROM users WHERE username ='$username'") //check it
or die(MysqL_error());
$fetched = MysqL_fetch_array($idfetch);
$id = $fetched['id']; //get users id for checking
$answer = $_POST['answer'];
$password = (MysqL_real_escape_string($_POST['password']));
$confpass = (MysqL_real_escape_string($_POST['confpass']));
if ($password != $confpass) {
echo ("Passwords do not match, please try again.");
exit;
}
$updatequery = MysqL_query("UPDATE users SET PASSWORD='$password' WHERE id='$id' AND username='$username' AND answer='$answer'");
if($updatequery) {
echo "<h1>Success</h1>";
echo "<p>Your account password was successfully changed. Please <a href=\"login.PHP\">click here to login</a>.</p>";
}
else {
echo "<h1>Error</h1>";
echo "<p>Sorry, but a field was incorrect.</p>";
}
}
?>
提前致谢!
解决方法:
MysqL_query("UPDATE users SET PASSWORD='$password' WHERE id='$id' AND username='$username' AND answer='$answer'") or die(MysqL_error()."update Failed");
并使用
MysqL_affected_rows()
Returns the number of affected rows on success, and -1 if the last query Failed.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。