2014-01-21 3 views
10

저는 mysqli를 처음 사용했습니다. 제 친구의이 코드를 사용했지만, 쿼리가 제오 행을 반환하는지 확인하는 방법을 이해하지 못했습니다. 여기 내 코드가있다. 미리 감사드립니다.쿼리 결과가 빈 행인지 확인 mysqli

$results = $mysqli->query("SELECT ANNOUNCE_NUMBER,ANNOUNCEMENTS,ANNOUNCE_TYPE,POST_DATE FROM home WHERE ANNOUNCE_NUMBER NOT LIKE $excludewelcome AND ANNOUNCE_NUMBER NOT LIKE $excludenews ORDER BY ANNOUNCE_NUMBER DESC LIMIT $position, $items_per_group"); 
if ($results) { 
    //output results from database 

    while($obj = $results->fetch_object()) 
    { 
     if($obj->ANNOUNCE_TYPE=='NEWSEVENTS') 
     { 
      $realstring='News and Events'; 
     } 
     else 
     { 
     $realstring='Welcome Note'; 
     } 

     echo '<li id="item_'.$obj->ANNOUNCE_NUMBER.'"><strong>'.$realstring.'</strong></span>'; 
     echo '<br \>'; 
     echo '('.$obj->POST_DATE.') <span class="page_message">'.$obj->ANNOUNCEMENTS.'</span></li>'; 
    } 

} 

답변

22

데이터 집합에서 num_rows을 사용하여 반환되는 행 수를 확인할 수 있습니다. 예 :

$results = $mysqli->query("SELECT ANNOUNCE_NUMBER,ANNOUNCEMENTS,ANNOUNCE_TYPE,POST_DATE FROM home WHERE ANNOUNCE_NUMBER NOT LIKE $excludewelcome AND ANNOUNCE_NUMBER NOT LIKE $excludenews ORDER BY ANNOUNCE_NUMBER DESC LIMIT $position, $items_per_group"); 
if ($results) { 

    if($results->num_rows === 0) 
    { 
     echo 'No results'; 
    } 
    else 
    { 
     //output results from database 
     while($obj = $results->fetch_object()) 
     { 
      if($obj->ANNOUNCE_TYPE=='NEWSEVENTS') 
      { 
       $realstring='News and Events'; 
      } 
      else 
      { 
      $realstring='Welcome Note'; 
      } 

      echo '<li id="item_'.$obj->ANNOUNCE_NUMBER.'"><strong>'.$realstring.'</strong></span>'; 
      echo '<br \>'; 
      echo '('.$obj->POST_DATE.') <span class="page_message">'.$obj->ANNOUNCEMENTS.'</span></li>'; 
     } 
    } 
} 
+0

고마워요! 그 일했다! – user3196424

+2

하지만 다음과 같은 경우 더 잘 사용한다고 생각합니다. if (($ results) && ($ results-> num_rows! == 0)) { –

0

배열이 [널 (null)] 또는 [NULL, NULL] 또는 [NULL, NULL, NULL, ...]

사용할 수있는 내파 같이하는 경우 :

내파 배열을 문자열로 변환하는 데 사용됩니다.

$con = mysqli_connect("localhost","my_user","my_password","my_db"); 
$result = mysqli_query($con,'Select * From table1'); 
$row = mysqli_fetch_row($result); 
if(implode(null,$row) == null){ 
    //$row is empty 
}else{ 
    //$row has some value rather than null 
}