<?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,但它似乎对我不起作用。
我的查询是否需要使用消除空连接的语法,或者如何识别$ rowCount = 0?
答案 0 :(得分:2)
循环while(false) { }
将永远不会执行,这就是没有行时的结果。您必须将$row_count
的检查放在while循环之外:
if ($row_count == 0) { ... no information ... }
else
{
while ($row = mysql_fetch_array($sql)) { ... }
}
答案 1 :(得分:0)
如果您的Statement没有返回任何内容,则永远不会输入while
循环。
只有在提取了一行时,表达式$row=mysql_fetch_array($sql)
才会计算为真。