带有Pdo的Codeigniter调用成员函数rowCount()

时间:2016-06-09 07:31:00

标签: php mysql mysqli pdo codeigniter-2

我已经使用了codeigniter 2.2.0并希望使用pdo db连接和pdo驱动程序,但是得到类似这样的错误,所以有人能想出我在这里缺少的东西吗?

$active_group = 'default';
$active_record = TRUE;
$db['default']['dsn'] = '';
$db['default']['hostname'] =    'mysql:host=192.168.1.222;dbname=test';
$db['default']['username'] = 'admin';
$db['default']['password'] = 'admin';  
$db['default']['database'] = 'test';
$db['default']['dbdriver'] = 'pdo';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

在此之后,当我运行项目时,我发现了致命错误 致命错误:在第42行的/opt/lampp/htdocs/collegelife/system/database/drivers/pdo/pdo_result.php中的非对象上调用成员函数rowCount()

1 个答案:

答案 0 :(得分:1)

使用Mysqli代替PDO。 原因Check Sarty's comment on the question

  

同样不要使用mysql。它的在PHP 5.5.0中已弃用,并在PHP 7.0.0中被删除

设置MySQLi

$db['default'] = array(
        'dsn'   => '',
        'hostname' => 'localhost',
        'username' => 'root',
        'password' => '',
        'database' => 'database_name',
        'dbdriver' => 'mysqli',
        '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()
);