php - 查询在数据库中受到影响,但仍然在 PHP 中显示错误消息
问题描述
这部分代码用于通过令牌验证更新密码,我从 url 以加密格式获取 useremail,这就是我在查询中使用 md5 的原因。查询正在执行并正确影响表,但它一直显示 else 错误消息。
$password= md5($_POST['password']);
$sqlupdateaccount="UPDATE `mydatabasename`.`usertbl`
SET `password`='$password'
WHERE MD5(`useremail`)='$useremail'
AND `token`='$token'";
$result=mysqli_query($con,$sqlupdateaccount);
if(mysqli_num_rows($result)>0) // also used if(mysqli_affected_rows($con)) but still same problem
{
header("Location:userlogin.php?s=1");
} else {
echo "<h3 class='alert alert-danger'>Something Went Wrong</h3>".mysqli_error($con);
}
解决方案
当您有选择查询时,应使用mysqli_num_rows 。
mysqli_affected_rows是您正在搜索的内容。
更改if(mysqli_num_rows($result)>0) {...
为if(mysqli_affected_rows($con)>0) {...
推荐阅读
- excel - 如何使以下 iif 函数提供给定的结果?
- listview - Xamarin.Forms,仅限 iOS,作为 ViewCell 视图的框架的内容显示在列表中其他行的顶部
- javascript - 如何对antd表中的布尔列进行排序?
- linux - 在Linux中获取时钟设备的频率
- python - Python解析字符串值并加载到字典中
- reactjs - 必须在 React 函数组件或自定义 React Hook 函数中调用 React Hooks
- sql - SQL Server 2019 - 每天归档远程数据库,每个表中都有归档日期
- javascript - 我的功能会继续在购物车中添加产品,即使它存在并且没有显示任何警报。我该如何避免这个问题?
- sql-server - 不喜欢声明的问题
- java - 比较日期在java中没有按预期工作