2013-04-25 5 views
0

내 테이블의 행이 비어 있는지 확인하기 위해 작은 스크립트를 작성하려고합니다. 사용중인 코드는 아래에 있습니다. 빈 행과 전체 행을 반환하는 문제입니다.빈 행을 찾지 못했습니다

의견을 보내 주시면 감사하겠습니다.

$query = "SELECT ip_start_range, id FROM blocklistip"; 
$result = mysql_query($query); 
while($row = mysql_fetch_assoc($result)) { 
    if(isset($row['ip_start_range'])) { ?><br /><br /><?php 
     echo $row['id']; ?><br /><br /><?php 
    } else { 
     echo '<p>" No Result "</p>'; 
    } 
} 
+2

는 "빈"정의합니다. –

+1

SQL 쿼리에서'WHERE' 절을 사용하여 해당 행을 필터링하지 않는 이유는 무엇입니까? – Lion

+0

왜 데이터베이스 쿼리 자체에서 "IS NULL"또는 "=" ' "또는"= 0 "(John Conde가 말했듯이 비어 있음)을 확인하지 않는 이유는 무엇입니까? – jraede

답변

1

귀하의 코드가 $row['ip_start_range']는 항상 설정되어 있기 때문에 당신이 쿼리 결과에서 그것을 가져 오기 때문에 당신이 원하는대로 작동하지 않습니다. 현장 ip_start_range이 NULL을 허용하지 않는 경우, 당신은 빈 문자열을 기준으로 필터링 할 수

$query = "SELECT ip_start_range, id FROM blocklistip WHERE ip_start_range IS NULL"; 

을 또는 :

는 대신, WHERE 조건으로 레코드를 필터링

$query = "SELECT ip_start_range, id FROM blocklistip WHERE ip_start_range=''"; 
관련 문제