如何知道查询结果是0条记录
程序员文章站
2024-01-05 09:13:22
...
怎么知道查询结果是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) //返回查询的行数。
------解决方案--------------------
------解决方案--------------------
我想在插入记录之前先查询数据库里面有没有这条记录,实际上我数据库表里面并没有满足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) //返回查询的行数。
------解决方案--------------------
------解决方案--------------------
- PHP code
//这儿应该怎么做才知道数据库里面有没有这条记录呢? echo mysql_affected_rows();//或者 echo mysql_num_rows($result);
------解决方案--------------------
count()函数里第一个参数应该是array or object."If var is not an array or ......,1 will be returned."参考PHP手册:
http://cn2.php.net/manual/en/function.count.php
------解决方案--------------------
mysql_num_rows 是计数
mysql_fetch_array he mysql_fetch_rows是返回一个数组相关文章
相关视频