致命错误:调用未定义的方法CI_DB_mysqli_result :: fetch()

时间:2015-08-03 16:11:22

标签: php sql codeigniter mysqli smarty

    public function getVoters($limit = 5)
    {
        $db = $this->load->database("cms", true);

                $year = date('Y');
                $month = date('n');

                $res = $this->db->query("SELECT account, counter FROM votecounter WHERE year=$year AND month=$month ORDER BY counter DESC LIMIT 5");

                $x = 1;

                while ($arr = $res->fetch())
                {
                    $accid = $arr['account'];

                    $res2 = $DB->prepare("SELECT `displayName` FROM `account_data` WHERE `id` = :acc LIMIT 1;");
                    $res2->bindParam(':acc', $accid, PDO::PARAM_STR);
                    $res2->execute();

                    $arr2 = $res2->fetch();

                    echo '
                        <li>
                            <p>', $x ,'</p>
                            <a href="', $config['BaseURL'], '/index.php?page=profile&uid=', $accid, '">', $arr2['displayName'] ,'</a>
                            <span>', $arr['counter'] ,' <i>Votes</i></span>
                        </li>';
                    $x++;
                    unset($res2, $arr2, $accid);
                }
                unset($res, $x);    
}

这曾经在我的PHP网站上工作,但我改为使用Smarty / Codeigniter构建的新网站,这个错误已经出现,我不知道如何解决它。

  

致命错误:调用未定义的方法CI_DB_mysqli_result :: fetch()

任何帮助将不胜感激..

1 个答案:

答案 0 :(得分:1)

当我没有弄错的时候,在codeigniter中没有fetch()函数。

所以也许使用result_array()代替。