0

エラーを回避するために、MySQL でクエリを実行した後Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given、次のチェックを行いました。

if($result != null){
    while($row = mysql_fetch_assoc($result)){
         //Do awesome things        
    }
}

結果が空の場合は何もしたくないので、if() は必要ありません。より良い方法でそのチェックを行うことが可能であると確信しています。何か案が?

4

1 に答える 1

2

結果が空の場合は何もしたくない

コードでその部分を既にカバーしています (「結果が空の場合」の部分)。

ただし、フェッチする結果がなかった場合 (非結果) は、その部分をカバーしません。TRUE/に対してチェックする必要がありますFALSE:

if ($result) {
   # there was a database result - empty or not
} else {
   # there was no database-result to fetch from.
}

これは一般的な問題なので、前の関数からの戻り値を扱うときは常に注意してください。多くの関数とライブラリには、複数の型を返すという問題があるため、続行する前に戻り値の型を確認することが重要です。

于 2013-04-10T11:11:26.283 に答える