2014-06-19 6 views
0

결과가 없을 때 다음 mysqli_num_rows가 0을 반환하지 않는 이유를 아는 사람이 있습니까? '0'문자를 표시하는 대신 단순히 아무것도 표시하지 않습니다. 완전히 당황스러워. 편집 < < msqli_num_rows은 행이없는 경우myqli_num_rows가 0을 반환하지 않음

$result = mysqli_query($con," 
      SELECT LastName 
      AS sLast, FirstName 
       AS sFirst 
      FROM students 
       LEFT JOIN 
       (SELECT id, name 
       FROM employers) 
       a ON a.id = $e_id 
      WHERE WK1 = a.name"); 
    while($row = mysqli_fetch_array($result)) { 
    $wk1 = mysqli_num_rows($result); 
    echo $row['sLast'] .", ".$row['sFirst']."<br>"; 
    } 
+0

관련있는 것 같습니다. http://stackoverflow.com/questions/3325256/if-mysql-num-rows-equals-to-zero-is-not-working EDIT 죄송합니다, 아마도 그렇지 않을 수도 있습니다. 나는 오해했을 수도있다 –

답변

3

때문에 가져 오기 위해 아무것도 없습니다 ... 제대로 작동 결과가있을 때 어떤 결과가 없을 때, 그냥하지 않는 번호를 표시한다하여 루프가 실행되지 않습니다. 먼저 num_rows를 가져 오십시오. 이 기록과 일치가 발견되면

$wk1 = mysqli_num_rows($result); 
while($row = mysqli_fetch_array($result)) {  
    echo $row['sLast'] .", ".$row['sFirst']."<br>"; 
} 
+0

브릴리언트! 고맙습니다. –

+0

@PhilHowell 문제 없으니 기꺼이 도와주세요. – Jim

-1
  1. mysqli_query는 결과를 반환합니다.
  2. 레코드가 없으면 false를 반환하므로 false 인 경우 0을 반환하지 않습니다.
+0

mysqli_query는 에러시에만 false를 반환한다. 행은 없지만 쿼리가 성공적이면 mysqli_result 객체를 얻을 것이다. – Jim

+0

반환 값 항목의 http://us3.php.net//manual/en/mysqli.query.php를 확인하십시오. 나는 레코드가 발견되지 않을 때 false를 리턴한다고 생각한다. –

+0

링크'실패시 FALSE를 리턴한다. SELECT, SHOW, DESCRIBE 또는 EXPLAIN 질의에 성공하면 mysqli_query()는 mysqli_result 객체를 반환 할 것이다. 0 행을 반환하는 것은 실패가 아니다. 너 자신을 밖으로 시도 할 수 있습니다. – Jim

관련 문제