Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查SQL/PHP查询返回的值是否为空?_Php_Mysql - Fatal编程技术网

如何检查SQL/PHP查询返回的值是否为空?

如何检查SQL/PHP查询返回的值是否为空?,php,mysql,Php,Mysql,如何检查sql查询返回的值是否为空?我尝试使用if(empty($var)),但也不起作用。这是我的密码 PHP代码: while($row = mysql_fetch_array($Result)) { if(count($row) == 0) { .... } } 如何检查$row是否为空?这是正确的方法,您可以通过查找返回结果

如何检查sql查询返回的值是否为空?我尝试使用if(empty($var)),但也不起作用。这是我的密码

PHP代码:

        while($row = mysql_fetch_array($Result)) 
        { 
            if(count($row) == 0) 
            { 
                .... 
            } 
       } 

如何检查$row是否为空?

这是正确的方法,您可以通过查找返回结果中的行数来检查结果是否为空。sql中有一个函数可以执行此操作
mysql\u num\u rows
。以下是使用它的方法:

if (mysql_num_rows($Result) == 0) { 
   //results are empty, do something here 
} else { 
   while($admin_row = mysql_fetch_array($Result)) { 
      //processing when you have some data 
}  
如果结果不是空的,则为您提供错误的位置和处理结果的位置。

最简单的方法是使用

但请记住,此函数返回到目前为止从MySQL服务器传输到客户端的记录数。这不一定是记录总数。只要你还在用,那没关系。但是,如果您有大型的结果集,您可能想要使用,那么您就不能依赖mysql_num_rows()(出于您的目的),因为在调用mysql_fetch_xyz()之前没有传输任何记录

但是你可以用类似

$cnt = 0;
while( false!=($row=mysql_fetch_array($Result)) ) {
    $cnt += 1;
    // ...
}
if ( 0===$cnt ) {
    echo 'no records';
}
$row = mysql_fetch_array($Result);
if ( !$row ) {
    echo 'no records';
}
else {
    do {
        // ...
    } while( false!=($row=mysql_fetch_array($Result)) ) ;
}
现在您有了一个额外的变量作为计数器。您可能希望避免这种情况,而是使用类似

$cnt = 0;
while( false!=($row=mysql_fetch_array($Result)) ) {
    $cnt += 1;
    // ...
}
if ( 0===$cnt ) {
    echo 'no records';
}
$row = mysql_fetch_array($Result);
if ( !$row ) {
    echo 'no records';
}
else {
    do {
        // ...
    } while( false!=($row=mysql_fetch_array($Result)) ) ;
}
使用这种方法,您没有额外的变量,但有一些代码重复($x=fetch…行)。

... 做出选择;-)

你所说的“空”到底是什么意思?注意mysql扩展已经过时,并且正在被弃用。相反,新代码应该使用mysqli或PDO,两者都有重要的优点,比如预处理语句。