Heim  >  Artikel  >  Backend-Entwicklung  >  如何知道查询结果是0条记录

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

WBOY
WBOYOriginal
2016-06-13 13:38:431263Durchsuche

怎么知道查询结果是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>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel: 求指导简化~解决办法 Nächster Artikel: MYSQL语句有关问题