检查 db_query returns 是否为空

check db_query returns empty

如何查看查询结果returns是否为空。我没有找到其他方法并尝试了这个但仍然遇到问题。

$ww = db_query("SELECT item1,id FROM db_item WHERE db_item.id = '".$record->data1."'" );
$d=0;
foreach($ww as $ee){
        $d=11;
        $ed =  $ee->item1;
        $options2.="$ed";
}
if($d!=11){
        $options2.="No ITEM added!";
}

编辑

 $ww = db_query("SELECT item1,id FROM db_item WHERE db_item.id = '".$record->data1."'" );
  if(!empty($ww)){ 
  foreach($ww as $ee){
        $d=11;
        $ed =  $ee->item1;
        $options2.="$ed";
    }
 }
      else{
        $options2.="No ITEM added!";
}

db_query() function returns a DatabaseStatementInterface, which has the fetchAllAssoc方法可用。您可以使用该方法获取一个数组,该数组可以具有 PHP empty() 函数的空特征:

$ww = db_query("SELECT item1,id FROM db_item WHERE db_item.id = '".$record->data1."'" );
$results = $ww->fetchAllAssoc('id');
if (!empty($results)) {
    // results not empty
} else {
    // results empty
}

请注意,我故意避免使用 rowCount 方法,因为它仅适用于 UPDATEINSERTDELETE 查询。