我已经使用了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()
答案 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()
);