首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql_num_rows不能正常工作

mysql_num_rows不能正常工作
EN

Stack Overflow用户
提问于 2013-05-05 08:33:18
回答 3查看 2.6K关注 0票数 0

我正在尝试检查mysql查询的值是否返回false或者实际上包含一个值。我的第一个解决方案运行正常,如下所示:

代码语言:javascript
复制
    $gotTrailer = mysql_query("SELECT trailer FROM film_backup WHERE id='".key($countValues)."'");
    $iHasTrailer = mysql_fetch_array($gotTrailer);
    while(mysql_num_rows($gotTrailer)==''){
        next($countValues);
        $gotTrailer = mysql_query("SELECT trailer FROM film_backup WHERE id='".key($countValues)."'");
        $iHasTrailer = mysql_fetch_array($gotTrailer);
    }

这是一个非常难看的解决方案,所以我尝试使用mysql_num_rows():

代码语言:javascript
复制
$gotTrailer = mysql_query("SELECT trailer FROM film_backup WHERE id='".key($countValues)."'");
    while(mysql_num_rows($gotTrailer)==0){
        next($countValues);
        $gotTrailer = mysql_query("SELECT trailer FROM film_backup WHERE id='".key($countValues)."'");
    }

但不管是什么原因,这根本行不通。我也试过使用=== false,但我真的不知道出了什么问题。希望你能帮上忙。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-05 08:43:56

mysql_query()只有在输出错误时才返回false。如果查询返回空结果,它仍然返回资源(非false、empty或0)。

如果没有更多的行,mysql_fetch_array()将返回false,否则返回一个数组。

顺便说一下,这些方法已经被弃用了。

资源:http://php.net/manual/en/function.mysql-query.php

http://www.php.net/manual/en/function.mysql-fetch-array.php

票数 1
EN

Stack Overflow用户

发布于 2013-05-05 08:54:44

出错时,mysql_query返回false。如果要检查查询中是否存在错误,则应检查该函数的返回值。

现在,如果您想检查是否有结果,mysql_num_rows将在出错时返回>= 0或false。所以,你的时间应该是

代码语言:javascript
复制
 while( (mysql_num_rows($gotTrailer) !== false) ){

除此之外,代码还有其他缺陷,next()可能返回false并且mysql_query将失败,此外,请记住避开查询以避免SQL注入。

票数 0
EN

Stack Overflow用户

发布于 2013-05-05 08:58:51

您也可以尝试使用For Loop

代码语言:javascript
复制
    $gotTrailer = mysql_query("SELECT trailer FROM film_backup WHERE id='".key($countValues)."'");

    for($i=0; $i<mysql_num_rows($gotTrailer); $i++)
    {
       next($countValues);
       $gotTrailer = mysql_query("SELECT trailer FROM film_backup WHERE id='".key($countValues)."'");
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16380256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档