CI 连接SQLite错误
之前用CI 2.1.4连接SQLite一切正常,使用pdo驱动,更新到2.2.0后没做任何其它改动提示错误:Fatal error: Call to a member function rowCount() on a non-object in .....pdo_result.php
今天出了2.2.1版本,试着升级了一下,也没做任何改动,提示另外一个错误:
Trying to get property of non-object
这个我也遇到了,这是CodeIgniter-2.2-stable这个版本的BUG,在pdo_drivers.php和pdo_result.php这两个文件里都调用了rowCount()方法,但事实上pdo_result.php里根本没有定义这个方法。
SQLite 3.0版里没有 sqlite_num_rows()这样的函数了,所以rowCount()也没有原生支持。但这不是SQLite 3 的问题,rowCount()功能很容易就可以自己补上的。
我还试过以PDO方式连接其他几类数据库,都很不好用,看来CI2.2的PDO驱动还很不成熟,不推荐使用。
PHP5.3开始有php_sqlite3了,所以我以SQLite3的API写了一个用于CI2.2的数据库驱动,用来解决上面的问题。
下面是 CodeIgniter2.2的SQLite3数据库驱动,解压后放到 system/databases/drivers/ 下就可以用了,application/config/database.php 里只要写 “$db['sqlite3']['dbdriver'] = 'sqlite3';”就可以了。
把 2.1.4 的 pdo_driver.php 覆盖过去就好了 TurboY 发表于 2015-3-16 15:14
这个我也遇到了,这是CodeIgniter-2.2-stable这个版本的BUG,在pdo_drivers.php和pdo_result.php这两个文件 ...
下载地址失效了 巫小师 发表于 2017-2-17 14:30
下载地址失效了
今天论坛设置有点问题,附件无法下载的问题已经修复了,感谢支持。
页:
[1]