php
  • drupal-7
  • 2015-01-29 4 views 1 likes 
    1

    Как проверить результат запроса, возвращает пустое или нет. Я не нашел другого пути и попробовал это, но все еще получаю проблемы.check db_query возвращает пустые

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

    'if (! Empty ($ ww)) {// не пусто} else {// empty}' – Daan

    +0

    Я попытался, но все еще вернул проблему .. –

    +0

    @Daan; но db_query возвращает не одно значение, оно используется для итерации результата. –

    ответ

    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 метода на цели, потому что он предназначен только для UPDATE, INSERT или DELETE запросов.

    +0

    спасибо, сэр .... это решило проблему –

    Смежные вопросы