警告:mysql_num_rows()期望参数1是资源,布尔值在

时间:2015-01-03 11:56:13

标签: mysql boolean

我将此错误Warning: mysql_num_rows() expects parameter 1作为资源,我的代码中给出的布尔值如下 这里是if(mysql_num_rows($res)>0){行 请帮帮我

function getProgramFee(){

        $sql = "SELECT program_merchantid,program_id,program_fee,program_value,program_type FROM partners_program";
        $res = @mysql_query($sql);

        if(mysql_num_rows($res)>0){
           while($row = mysql_fetch_object($res)){
                 $merid         = $row->program_merchantid;
                 $id            = $row->program_id;
                 $prgm_fee      = trim($row->program_fee);
                 $prgm_value    = $row->program_value;
                 $prgm_type     = $row->program_type;

                 if(($prgm_type == "0")){
                     $prgm_fee      = $program_fee;
                     $prgm_value    = $program_value;
                     $prgm_type     = $program_type;
                 }

1 个答案:

答案 0 :(得分:2)

布尔值的参数是$res。错误时mysql_query会返回FALSE

  

对于SELECT,SHOW,DESCRIBE,EXPLAIN和其他语句返回   结果集,mysql_query()会在成功时返回资源,或FALSE开启   错误。

来自http://php.net/manual/en/function.mysql-query.php

所以问题是你的SQL查询无效,可能是因为partners_program不存在或因为其中一个字段不存在。

调试问题的一个良好开端是删除@前面的mysql_query。 @抑制所有错误,并且通常不赞成。如果您的PHP设置已正确设置以进行调试,则应收到描述性错误消息。您还可以在mysql_error()之后使用mysql_query进行调试以获取更多详细信息。

此外,mysql_*函数已被弃用了很长时间,因此如果可能,您应该查看pdomysqli库。