所以,我下面的PHP查询:MySQL查询搜索以“如果”语句
for($i = 0; $i < sizeof($cat_result) ; ++$i) {
$query_p = "SELECT * FROM $table WHERE id = %d";
$results[] = $wpdb->get_row($wpdb->prepare($query_p, $cat_result[$i]));
}
搜索依赖于$cat_result
其中包含大量的数字。
例如,让我们说$cat_result
包含以下号码:“1,3,5,21,35`
使用这些5个号码,查询将查找数据库信息。
但是,有些情况下db中不存在一些数字(例如“21”)。
然后,我得到PHP NOTICE: trying to get property of non-object
。
如何编写“if”语句,以便如果id
(本例中为“21”)不存在,那么它只是忽略查询? (很难解释我的意思是“忽略”,我仍然希望查询执行搜索,但是如果它没有找到它正在查找的内容,那么只需忽略该错误)。
为什么不直接说:'SELECT * FROM $ table WHERE id in($ cat_result);' – Fallenreaper
@Matt'IFNULL'没有帮助,如果没有行匹配。 – Barmar
@Barmar Ahh,那时可能是错误的。 – Matt