2011-01-31 25 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

OK - 空のテーブル値を調べるにはどうしたらいいですか? – 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

関連する問題