Home  >  Article  >  Backend Development  >  如何知道查询结果是0条记录

如何知道查询结果是0条记录

WBOY
WBOYOriginal
2016-06-13 13:38:431262browse

怎么知道查询结果是0条记录
我想在插入记录之前先查询数据库里面有没有这条记录,实际上我数据库表里面并没有满足certificatetype='hdfj'的记录
$sql="select * from customers where certificatetype='hdfj'";
$result=mysql_query($sql);
if(!$result)
die mysql_error();
else
{
//这儿应该怎么做才知道数据库里面有没有这条记录呢?
//为什么我下面这两条语句都会输出1呢?
  echo count(mysql_fetch_row($result));
  echo count($result);
  
}

------解决方案--------------------
mysql_num_rows()获取结果集的行数。
之所以返回1,是由于count()的特殊。 如你所说数据库没有这条记录的话,mysql_fetch_row($result) 返回的就应该是false。而
$result = count(false);
// $result == 1
------解决方案--------------------
echo mysql_num_rows($result) //返回查询的行数。
------解决方案--------------------

探讨
mysql_num_rows()获取结果集的行数。
之所以返回1,是由于count()的特殊。 如你所说数据库没有这条记录的话,mysql_fetch_row($result) 返回的就应该是false。而
$result = count(false);
// $result == 1

------解决方案--------------------
PHP code

//这儿应该怎么做才知道数据库里面有没有这条记录呢?
echo mysql_affected_rows();//或者
echo mysql_num_rows($result);
<br><font color="#e78608">------解决方案--------------------</font><br>count()函数里第一个参数应该是array or object."If var is not an array or ......,1 will be returned."参考PHP手册:<br>http://cn2.php.net/manual/en/function.count.php
<br><font color="#e78608">------解决方案--------------------</font><br>mysql_num_rows 是计数<br>mysql_fetch_array he mysql_fetch_rows是返回一个数组 <div class="clear">
                 
              
              
        
            </div>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn