Iam试图为基于博客的项目查询获取相关文章:
$query = mysqli_query($con, "SELECT * FROM posts WHERE cat_id like '%$cat_arr[i]%' AND NOT post_id = '$postid'");问题:在phpMyAdmin中作为普通查询运行时,它将根据需要获取3-4行,但在脚本中,它将获取posts表中的所有行。
发布于 2021-03-05 07:15:16
变量'%$cat_arr[i]%似乎是空的。
因此,如果您正在运行该查询:
$query = mysqli_query($con, "SELECT * FROM posts WHERE cat_id like '%$cat_arr[i]%' AND NOT post_id = '$postid'");而不是两个条件,只有一个条件post_id = '$postid'正在得到考虑。
如果在LIKE %%中通过空白,则等于不添加条件。
因此,最好的解决方案是首先评估变量:
if (isset($cat_arr[i]) && ! empty($cat_arr[i]) && ! empty($postid)) {
$query = mysqli_query($con, "SELECT * FROM posts WHERE cat_id like '%$cat_arr[i]%' AND NOT post_id = '$postid'");
}
else {
// Another condition
}https://stackoverflow.com/questions/66487598
复制相似问题