从CI 3.0.1升级到CI 3.1.9期间出错?

时间:2018-07-02 13:35:14

标签: php odbc codeigniter-3

我长期使用codeigniter 3.0.1版本。 (3年无升级) 我有 a)PHP 5.4.3, b)通知数据库 c)和odbc连接到notifyix说(eadmin)

截至目前,我在config / database.php中具有如下连接 (即在CI 3.0.1中)

$db['default'] = array( 
    'dsn'   => 'eadmin',
    'hostname' => 'localhost',
    'username' => ''
    'password' => '',
    'database' => 'eadmin'
    'dbdriver' => 'odbc',
    'dbprefix' => '',
    'pconnect' => TRUE,
    'db_debug' => TRUE,
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array()
);

我的项目非常顺利。 在我的模型中,我曾经使用

进行查询
$rows = $this->db->select('perno, name')
    ->where('grade','10')
    ->get('employees');
$data = $rows->result_array();
var_dump($data);

我能够完美地得到结果并处理。

问题是,现在我升级了CI版本3.1.9,并保持了与上述相同的连接参数。但是上述查询构建失败。 它说找不到方法。此外,我在$this->db->之后给出的任何方法都会在该行上产生错误。

例如

$this->db->query("select perno, name from employees");
$this->db->get('employees');

等给出错误。

我也使用Oracle进行了测试,但出现了上述错误。 请注意,我正在使用ODBC驱动程序。

我该怎么办?任何解决方案都值得赞赏。

1 个答案:

答案 0 :(得分:0)

我想您会在this page of upgrade instructions上找到问题的答案。如果我正确理解它,则表示如果使用odbc,则不能使用查询生成器。

可能在某个地方狂奔了CodeIgniter的第三方notifyix驱动程序。一点Google时间应该可以帮助您找到它。

CI建议使用PHP 5.6或更高版本。那可能不是“表演的终结者”,但如果可以的话,这样做是明智的。