php - 为什么这会抛出错误的结果?
问题描述
因此,对于上一个问题,我已将代码更新为以下
$stmt = $conn->prepare("SELECT count(id) FROM activities WHERE userId = ? AND status = ? AND DATEDIFF('$date', next_due) >= 1");
$stmt->bind_param("ss", $userId, $status);
$stmt->execute();
$stmt->store_result();
$numrows = $stmt->num_rows;
echo $numrows;
它不再抛出错误,而是将 $numrows 返回为 1,但是我知道返回的行数应该是 2(我知道它应该是 2,因为我在表中有 2 个相同的行用于测试目的)。我试过SELECT count(*)
了,但这也给了我一个 1。
解决方案
感谢您的建议。最后,我选择了以下内容;
$stmt = $conn->prepare("SELECT * FROM activities WHERE userId = ? AND status = ? AND last_completed != ? AND DATEDIFF(?, next_due) >= 1");
$stmt->bind_param("ssss", $userId, $status, $null, $date);
$stmt->execute();
$result = $stmt->get_result();
echo $result->num_rows;
?>
推荐阅读
- reactjs - 即使在加载条件之后,也无法访问 reactjs 中的嵌套对象
- mysql - laravel mysql加入4个表
- swift - 如何检测 Homebrew 公式中的平台?
- python - 如何使用 mongodb 在 python 烧瓶中创建搜索栏
- sql - 在 id laravel 中选择和求和值
- sql - 使用第三个表进一步过滤结果的 SQL 查询
- java - 如何将 java String 值插入 MySQL TEXT 数据类型?
- html - 如何将图像居中
- java - 尝试在 VPS 上启动 JDA Discord Bot 时出错
- asp.net-core - ASP.NET Core 页面不会在后退按钮上重新加载页面