0
<?php

$sql=mysql_query("SELECT * FROM  table_one INNER JOIN table_two ON table_one.id = table_two.field_id ORDER BY table_one.id ASC LIMIT 0 , 300");
$rowCount=mysql_num_rows($sql);
while($row=mysql_fetch_array($sql)){
    if($rowCount < 1 || $rowCount=="0" || $rowCount == 0 || $rowCount == NULL || $rowCount == false){
        echo "no information retrieved"; 
    }
    else{
        echo "information retrieved";
    }
}

?>

そのため、if-else ステートメントで条件を設定するときに、$rowCount 値 0 をキャッチする方法をいくつか試しましたが、うまくいかないようです。

私のクエリは、null 結合を排除する構文を使用する必要がありますか、または $rowCount = 0 の場合をどのように識別しますか?

4

2 に答える 2

2

ループwhile(false) { }は決して実行されません。それは、行がない場合です。$row_countwhile ループの外側にチェックを入れる必要があります。

if ($row_count == 0) { ... no information ... }

else
{
  while ($row = mysql_fetch_array($sql)) { ... }
}
于 2011-08-20T23:10:13.303 に答える
0

Statement から何も返されない場合、whileループには入りません。$row=mysql_fetch_array($sql)行がフェッチされた場合にのみ、式は true と評価されます。

于 2011-08-20T23:10:36.267 に答える