严格标准:资源ID#73用作偏移量,转换为整数

Pin*_*ode 3 php mysql

我使用这个PHP函数获取MySql结果:

function fetcharray ($query_id)

    {
        if(!$query_id)
        {
            $query_id = $this->query_res;
        }

        if($query_id)

        {
            $this->q_array[$query_id] = @mysql_fetch_array($query_id,MYSQL_ASSOC); // LINE 124
            return $this->q_array[$query_id]; //LINE 125
        }

        else

        {
            return false;
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在,我转到PHP 5.5并看到此错误:

Strict Standards: Resource ID#73 used as offset, casting to integer (73) in domain.com/includes/functions/db.php on line 124

Strict Standards: Resource ID#73 used as offset, casting to integer (73) in domain.com/includes/functions/db.php on line 125
Run Code Online (Sandbox Code Playgroud)

我怎么能修复这个错误?

Joh*_*nde 8

您正在使用的资源,这是不是一个整数,为整数.即使你在检查它时看到一个数字,它实际上也不是一个真正的整数.它是与MySQL连接关联的资源ID.

如果你想把它作为一个整数使用我认为你可以在使用之前将它强制转换为整数(我从未尝试过它).

    if($query_id)
    {
        $id = (int) $query_id;

        $this->q_array[$id] = @mysql_fetch_array($query_id,MYSQL_ASSOC); // LINE 124
        return $this->q_array[$id]; //LINE 125
    }
Run Code Online (Sandbox Code Playgroud)