php while($row=mysql_fetch_array($query))

如果数据路库里没有信息的话 页面会出现Waring,但是我想要页面输出 “还没有人留言” 该怎么做呢?

mysql_num_rows( $query ) or die('目前还没有人留言!');
while ( $row = mysql_fetch_array( $query ) ) {
  .............
}
//注: mysql_num_rows()函数, 查询上次sql语句影响的数据库记录行数,返回值是数字,影响了一行就返回1,影响了两行后返回2, 一行都没有影响就返回0, 根据这个原理, 如果这个函数返回0, 那是不是数据库没有符合的记录,也就是你说的还没有人留言呢?

“王同学me ”的方法不可取, msyql_query()函数是发送一条sql命令,成功则返回数据源标示,失败则返回 false, 要理解清楚的是, mysql_query()要返回失败的状态,除非是sql语句错误,或者无数据库的相应权限, 排除这2个情况,无论数据库是否有相应的数据,都会返回成功状态!

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-15
只需要@符号来屏蔽以下就行了。
$query=@mysql_query('sql语句');
php while($row=@mysql_fetch_array($query))
绝对好使

其实mysql_fetch_array()这个函数的参数是一个结果集资源,也就是资源类型,$query应该是你的查询结果吧,也就是通过mysql_query()查询的结果,如果你的sql语句有误,就会查询失败,返回的类型则是布尔型false,mysql_fetch_array()这个函数参数类型不对就会出现Waring级别的错误。

所以,在执行mysql_fetch_array()这个函数之前应先判断一下你的$query。
很高兴为你解答(^_^)。本回答被网友采纳
第2个回答  2014-03-29
先判断$query 如果$query 为false 则显示 "还没人留言"追问

但是那个Waring还在页面显示呢,怎么才能不显示呢?

追答

if($query){
while($row = mysql_fetch_array($query)){
var_dump($row);

}

}else{
echo '还没人留言';

}

试试这个

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网