check db_query返回空

时间:2015-01-29 15:54:27

标签: php drupal-7

如何检查查询结果是否返回空。我没有找到任何其他方法并尝试过这个问题,但仍然遇到问题。

$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!";
}

1 个答案:

答案 0 :(得分:1)

db_query() function返回DatabaseStatementInterface,其中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个查询。