php - 如何从 $_SESSION 和 MySQL 用户 ID 验证用户 ID
问题描述
我对 MySQL 查询和条件有疑问。主要问题是具有另一个 ID 的用户可以查看/编辑相同的潜在客户,即使他的 id != 所有者。
我尝试更改变量并添加“”或“”,但这些都没有帮助。
$myuser_query = mysqli_query($conn,"SELECT * FROM users WHERE id = '".$_SESSION["id"]."'");
$myuser = mysqli_fetch_assoc($myuser_query);
$myleads = "SELECT * FROM leads WHERE owner = '".$myuser["id"]."' AND status = 1 OR status = 2 ORDER BY RAND() LIMIT 1";
$newleads = $conn->query($myleads);
if ($newleads->num_rows >= 1) {
(这里是显示日期的所有客户端。)
解决方案
您需要OR
在查询中的条件周围添加括号。改变这个:
$myleads = "SELECT * FROM leads
WHERE owner = '".$myuser["id"]."' AND status = 1 OR status = 2
ORDER BY RAND() LIMIT 1";
至:
$myleads = "SELECT * FROM leads
WHERE owner = '".$myuser["id"]."' AND (status = 1 OR status = 2)
ORDER BY RAND() LIMIT 1";
推荐阅读
- python - 如何从字典中按索引删除项目?
- r - 计算行差异并插入R中的新列(不使用for循环)
- sql-server - 用于检索状态列计数的 SQL 查询
- google-apps-script - 谷歌工作表脚本 - 当满足共同值时,停止填充与另一个数组进行比较的数组
- java - 在 Java 8 中我可以使用什么数据类型来代替“var”?
- php - laravel 将所有数组合并为一个
- sql - Oracle 触发器终止会话
- c++ - 我可以使用什么样的数据结构来处理这种方式
- javascript - javascript Date.toISOString() 返回差异日期值
- firebase - 错误:Firebase cURL 查询中未定义索引,即使在更新数据库规则之后也是如此