看我的代码,我使用foreach从查询结果中获取值,然后使用每个值获取查询结果,如果$ sql2回显某些内容,它将运行。但是,如果$ sql2中的任何一个都不回显结果,那我想在foreach循环之外做其他事情吗?如何检查是否根本没有$ sql2结果?

<?php
$sql = $wpdb->get_results( $wpdb->prepare("
        SELECT whatever FROM table where v=%s ",$test));

foreach($sql as $val){
        $dis1 = $val-> whatever;
        $sql2 = $wpdb->get_var( $wpdb->prepare("
            SELECT wherever from table where val=%s
        ",$dis1));
       if(sql2){
       /*  do something here*/
         }
    }
     /* if() every sql2 echo empty result
         then do something else
*/

最佳答案

尽早创建一个变量,如果有回显,则在循环中更新它。最后,检查它是否已更新

$echoed = false;
$sql = $wpdb...

foreach($sql as $val){
   ...
   if($sql2){
       $echoed = true; //update, so you will know later that something was echoed
       ...
   }
}
if(!$echoed){
   // nothing was echoed
}

关于php - 试图检查foreach内的所有查询是否均无响应,php mysql?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38649162/

10-10 03:29