2011-01-31 7 views
0

이것은 간단해야하지만 .... 시간이 좀 걸립니다 ... 작동하지 않는 코드가 있습니다 (매번 아무것도 표시되지 않거나 빈 상태 메시지가 표시됨). $ show image는 쿼리이며 잘 실행되고 있음을 알고 있습니다.PHP MYQSLi 필드가 비어있는 경우 다른 값 반환

// BLANK STATE TOGGLE 
$result = mysqli_fetch_array($showimage, MYSQLI_ASSOC); 
if($result == ''){ 
     echo '<p>Sorry- no image.</p>'; 
} 
else { 
    echo '<p>There is an image!</p>'; 
    } 
} 
+0

잘 돌아가고 있다는 것을 어떻게 알 수 있습니까? '$ result'가'''/'false' 일 수있는 유일한 시나리오는 쿼리가 실패 할 때입니다. –

+0

'$ showimage'는 mysqli_result입니까? 오류보고가 활성화되어 있고 'display_errors'가'On '으로 설정되어 있습니까? 또한, mysqli_fetch_array의 반환 값은 배열이거나 NULL이다. 빈 문자열 대신 이들 중 하나에 대해 테스트해야합니다. – Phil

+0

알았어 - 빈 테이블 값을 확인하려면 어떻게해야합니까? – WillHerndon

답변

0

만 쿼리, 왜 돈 '의 결과에서 행의 존재를 확인하려는 경우 이렇게 단순화하면

// $db is your MySQLi connection object 

$query = 'SELECT COUNT(1) FROM `table` WHERE `something` = ?'; 
$stmt = $db->prepare($query); 
$stmt->bind_param('s', $something); 
$stmt->execute(); 

$stmt->bind_result($rowCount); 
$stmt->fetch(); 
$stmt->close(); 

if ($rowCount > 0) : ?> 
<p>There is an image!</p> 
<?php else : ?> 
<p>Sorry- no image.</p> 
<?php endif ?> 
+0

이 내 값을 추가하고 효과를 보았습니다. 감사! – WillHerndon

-1

mysqli_fetch_array 데이터베이스에 일치하는 항목이없는 경우 null을 반환합니다. 그래서 null을 확인해야합니다.

당신이 시도해야 할 수도 있습니다

$showimage 경우는 쿼리입니다 ..

//This should run fine 
//$link is ur connection 
$new_result = mysqli_query($link,$showimage); 


$result = mysqli_fetch_array($new_result, MYSQLI_ASSOC); 
if($result == null){ 
     echo '<p>Sorry- no image.</p>'; 
} 
else { 
    echo '<p>There is an image!</p>'; 
    } 
} 
+0

mysqli_query 호출이 혼란 스럽다. 수동 페이지는 여기에 있습니다. http://php.net/manual/en/mysqli.query.php – Phil

+0

@ Phil, 감사합니다. – tkt986

관련 문제