【问题标题】:Call to undefined method CI_DB_odbc_driver::limit() in Codeigniter在 Codeigniter 中调用未定义的方法 CI_DB_odbc_driver::limit()
【发布时间】:2017-12-21 16:09:45
【问题描述】:

我正在调用下面的函数,我总是回来:

Call to undefined method CI_DB_odbc_driver::limit()

我不知道原因,我也有同样的错误

Call to undefined method CI_DB_odbc_driver::get()

为了避免这个问题,我是否必须将限制函数翻译成这样的东西?

SELECT column FROM table
LIMIT 10 OFFSET 10



function get_current_page_records_users($limit, $start)
{

$this->db->limit($limit, $start);   //here
$query = $this->db->get("dbo.tbl_Login");


if ($query->num_rows() > 0)
{
    foreach ($query->result() as $row)
    {
        $data[] = $row;
    }

    return $data;
}

return false;
}

【问题讨论】:

    标签: php sql sql-server codeigniter odbc


    【解决方案1】:

    您需要先定义一个选择。

    $this->db->select('*');
    $this->db->from('orders');
    $this->db->limit($limit, $start);
    

    另外,$this->db->get() 不与其他方法一起使用。 ->get() 旨在单独使用,调用它可能最终会忽略任何其他方法调用,例如->select()->limit()。请参阅In the CodeIgniter Query Builder Docs 了解更多信息。

    您也可以像这样使用->get() 定义限制和偏移量。

    $query = $this->db->get('mytable', 10, 20);
    

    最后,我认为 ODBC 在 CodeIgniter 中被禁用。见this Github issue "Re-enable Query Builder for ODBC driver"

    【讨论】:

    • 现在我调用了未定义的方法 CI_DB_odbc_driver::select()
    • 如果使用 $this->db->count_all("dbo.tbl_Login");没问题,但是用其他方法我有错误
    • @StefanoMaglione 嗯,您使用的是哪个版本的 CodeIgniter? obdc 可能在您的版本中被禁用。 github.com/bcit-ci/CodeIgniter/pull/5197
    • @StefanoMaglione 我添加了一个可以解释该问题的编辑。
    • 我正在使用 codeigniter 3.1.6,但奇怪的是 count_all 有效!
    猜你喜欢
    • 2023-03-10
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2018-06-09
    • 2021-11-25
    • 2011-07-13
    • 1970-01-01
    • 2020-06-25
    相关资源
    最近更新 更多