日期:2014-05-17  浏览次数:20384 次

php如何判断SQL语句的查询结果是否为空?
代码如下:

$sql =mysql_query( "select * from tv_video where title like '%$keyword%' limit $offset,$PageSize");
$result=mysql_fetch_array($sql);
if(!empty($result)){
while($result=mysql_fetch_array($sql)){echo "hello word!"}
if(!empty($result)){
echo "记录为空";
}

测试结果为:无论记录是否为空,都会输出"hello word!"与"记录为空",也就是两个条件都成立,这就让我很费解了,到底怎样判断一个SQL返回结果是否为空?

------解决方案--------------------
$result =mysql_query( "select * from tv_video where title like '%$keyword%' limit $offset,$PageSize");
if (mysql_num_rows($result) < 1) echo '记录集为空';

------解决方案--------------------
$result =mysql_query( "select * from tv_video where title like '%$keyword%' limit $offset,$PageSize");
if(count($result)<0)
{
echo "查询无数据!";
}



这样试试
------解决方案--------------------
$result =mysql_query( "select * from tv_video where title like '%$keyword%' limit $offset,$PageSize");
if(!mysql_affected_rows()){
    echo '没有记录';
}
------解决方案--------------------
说明
int mysql_affected_rows ([ resource $link_identifier ] )
取得最近一次与 link_identifier 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。