用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2033|回复: 3
收起左侧

[版本 3.x] CodeIgniter-3连接mysql数据库报错Message: mysql_pconnect()

[复制链接]
发表于 2015-7-20 23:17:50 | 显示全部楼层 |阅读模式
按官网的连接方式,爆这个错误,是什么原因?

Severity: 8192
Message:  mysql_pconnect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead
Filename: mysql/mysql_driver.php

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


发表于 2015-7-21 10:56:38 | 显示全部楼层
PHP复制代码
 
 'dbdriver' => 'mysql',
 
复制代码


这里的 mysql 驱动不建议使用,未来可能会废弃,可以改成 mysqli 或 pdo
 楼主| 发表于 2015-7-22 01:56:58 | 显示全部楼层
aneasystone 发表于 2015-7-21 10:56
这里的 mysql 驱动不建议使用,未来可能会废弃,可以改成 mysqli 或 pdo

{:soso_e110:}意思知道是这个,改成mysqli就好了把,改pdo好像不行
发表于 2015-7-22 09:19:03 | 显示全部楼层
本帖最后由 aneasystone 于 2015-7-22 09:20 编辑

Sorry 没有说的很清楚。pdo 的配置和 mysqli 的配置不太一样,如果你使用的是 2.x + 版本(当然也适用于3.0),可以使用下面的方式配置 pdo (注意 hostname 参数前面的 mysql: 前缀):
PHP复制代码
 
$db['pdo']['hostname'] = 'mysql:host=localhost';
$db['pdo']['database'] = 'database';
$db['pdo']['dbdriver'] = 'pdo';
 
复制代码


如果使用的是3.0+ 版本,还可以使用下面的方式(通过 dsn 参数设置):
PHP复制代码
 
$db['pdo'] = array(
        'dsn'        => 'mysql:host=localhost',
        //'hostname' => 'localhost',
        'database' => 'database',
        'dbdriver' => 'pdo',
...
 
复制代码

本版积分规则