shana丶夏娜 发表于 2015-7-20 23:17:50

CodeIgniter-3连接mysql数据库报错Message: mysql_pconnect()

按官网的连接方式,爆这个错误,是什么原因?

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
);


aneasystone 发表于 2015-7-21 10:56:38


'dbdriver' => 'mysql',


这里的 mysql 驱动不建议使用,未来可能会废弃,可以改成 mysqli 或 pdo

shana丶夏娜 发表于 2015-7-22 01:56:58

aneasystone 发表于 2015-7-21 10:56
这里的 mysql 驱动不建议使用,未来可能会废弃,可以改成 mysqli 或 pdo

{:soso_e110:}意思知道是这个,改成mysqli就好了把,改pdo好像不行

aneasystone 发表于 2015-7-22 09:19:03

本帖最后由 aneasystone 于 2015-7-22 09:20 编辑

Sorry 没有说的很清楚。pdo 的配置和 mysqli 的配置不太一样,如果你使用的是 2.x + 版本(当然也适用于3.0),可以使用下面的方式配置 pdo (注意 hostname 参数前面的 mysql: 前缀):

$db['pdo']['hostname'] = 'mysql:host=localhost';
$db['pdo']['database'] = 'database';
$db['pdo']['dbdriver'] = 'pdo';


如果使用的是3.0+ 版本,还可以使用下面的方式(通过 dsn 参数设置):

$db['pdo'] = array(
      'dsn'      => 'mysql:host=localhost',
      //'hostname' => 'localhost',
      'database' => 'database',
      'dbdriver' => 'pdo',
...
页: [1]
查看完整版本: CodeIgniter-3连接mysql数据库报错Message: mysql_pconnect()