在不包含任何行的MYSQL结果上使用if()的PHP出错

时间:2012-02-24 10:25:13

标签: php mysql if-statement

编辑:只是为了澄清,查询是正确的 - 有零行 - 我遇到的问题是如何在PHP中处理IF基本上我在迭代行(其中10个)一些将有一些查询数据,一些不会。当一行没有时,页面会翻倒。这有什么意义吗?

我知道我在做一些内在错误的事情,我确信解决方案很简单......

MySQL查询带回ZERO行;

SELECT * from tresults WHERE date = 'MAY2012'

然后我有一些PHP代码如下:

if($row = mysql_fetch_array($result)){
    // do something
}

现在,当查询返回ZERO行时,页面会落在IF语句上......我做错了什么......

2 个答案:

答案 0 :(得分:2)

使用mysql_num_rows()

检查行数
if(mysql_num_rows($result) > 0){
  $row = mysql_fetch_array($result);
}

或者使用while - 注意如果您的查询返回多行,则会为每一行运行

while($row = mysql_fetch_array($result)){
  // do something
}

答案 1 :(得分:0)

$result = mysql_query("SELECT * from tresults WHERE date = 'MAY2012'");

while ($row = mysql_fetch_array($result))
    {
        //do stuff;
    }