Codeigniter - 调用未定义的方法CI_DB_mysql_driver ::

时间:2010-04-02 14:26:11

标签: codeigniter

我收到此错误“致命错误:当我尝试使用我的某个模型时,调用未定义的方法CI_DB_mysql_driver :: findVenueInfo()”。

我有一个关于这个锚的观点:

echo anchor('welcome/searchVenue/' . $row->venue_id, $row->venue);

生成如下链接:http://localhost/ci-llmg/index.php/welcome/searchVenue/1

调用的方法是

function searchVenue()
{
    $this->load->model('venues');
    //get venue info
    $data['info'] = $this->venues->findVenueInfo($this->uri->segment(3)); //this line generates the error

}

和模型中的findVenueInfo函数(venues.php)是:

function findVenueInfo($id)
{
    $data = array();
    $this->db->where('id', $id);

    $Q = $this->db->get('venues');
    if ($Q->num_rows() > 0)
    {
        foreach ($Q->result() as $row)
        {
            $data[] = $row;
        }
    }

    $Q->free_result();
    return $data;
}

..但结果是致命错误:调用未定义的方法CI_DB_mysql_driver :: findVenueInfo() 我可能错过了一些愚蠢的东西,但却无法让它发挥作用!你觉得怎么样?

3 个答案:

答案 0 :(得分:6)

您确定您项目根目录下的index.php文件是否已在正确位置包含引导程序

转到index.php文件的末尾,并在包含codeigniter.php之前包含引导程序文件。

您的index.php文件的结尾行应如下所示。

/*
 * --------------------------------------------------------------------
 * LOAD THE BOOTSTRAP FILE
 * --------------------------------------------------------------------
 *

 * And away we go...
 *
 */

require_once APPPATH.'third_party/datamapper/bootstrap.php';

require_once BASEPATH.'core/CodeIgniter.php';

答案 1 :(得分:3)

function findVenueInfo($id)
{
    $data = array();
    $this->db->select()->from('venues')->where('id', $id);<----change it to

    $Q = $this->db->get();<----change it to
    if ($Q->num_rows() > 0)
    {
        foreach ($Q->result() as $row)
        {
            $data[] = $row;
        }
    }

    $Q->free_result();
    return $data;
}

答案 2 :(得分:2)

我收到类似的错误,发现在3.0中我需要在application / config / database.php中启用query_builder

$query_builder = TRUE;