【发布时间】:2021-01-28 14:54:04
【问题描述】:
我创建了以下代码来更新用户表单中的密码。 但是当我尝试使用不正确的详细信息更新密码时,数据库不会更新而是返回成功消息
<?php
if (isset($_POST['create']))
{
$m_number = $_POST['user_mobile_number'];
$u_nic = $_POST['user_nic'];
$u_lname = $_POST['user_login_name'];
$u_password = $_POST['user_password'];
$sql = "UPDATE `user` SET `user_password` = '$u_password' WHERE `user_login_name` = '$u_lname' && `user_mobile_number` = '$m_number' && `user_nic` = '$u_nic'";
if (mysqli_query($db, $sql))
{
if ($sql)
{
?>
<script type="text/javascript">
Swal.fire(
'WooHoo!',
'Your password change successfully!',
'success'
).then((result) => {
if (result.value) {
window.location="login.php";
}
})
</script>
<?php
}
else
{
echo "Error";
}
}
else
{
}
}
【问题讨论】:
-
您可能需要检查 UPDATE 语句是否确实影响了任何行。 $sql 变量无论如何都会为真,即使 UPDATE 语句影响 0 行。
-
确保您已启用 mysqli 错误报告 How to get the error message in MySQLi?
-
什么是“不正确的细节”以及它是怎么可能的?可能只是不要使用任何“不正确的细节”执行查询?