我正在尝试 运行 php 中的查询,它在 phpMyAdmin 中工作但不在脚本中
I am trying to run a query in php its working in phpMyAdmin but not in script
我正在尝试为基于博客的项目获取相关文章
查询:
$query = mysqli_query($con, "SELECT * FROM posts WHERE cat_id like '%$cat_arr[i]%' AND NOT post_id = '$postid'");
问题:
当 运行 在 phpMyAdmin 中作为正常查询时,它会根据需要获取 3-4 行,但在脚本中,它会获取帖子 table
中的所有行
变量'%$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
}
我正在尝试为基于博客的项目获取相关文章 查询:
$query = mysqli_query($con, "SELECT * FROM posts WHERE cat_id like '%$cat_arr[i]%' AND NOT post_id = '$postid'");
问题: 当 运行 在 phpMyAdmin 中作为正常查询时,它会根据需要获取 3-4 行,但在脚本中,它会获取帖子 table
中的所有行变量'%$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
}