无法在托管上连接我的数据库

时间:2018-07-23 20:07:13

标签: php mysql database codeigniter hosting

这是我的联系:

使用 CodeIgniter

$db['mysql'] = array(   
'dsn' => 'mysql:host=SOMEHOSTNAME;dbname=SOMEDATABASE',
'hostname' => 'SOMEHOSTNAME',
'username' => 'SOME USER',
'password' => 'password',
'database' => 'SOME DATABASE',
'dbdriver' => 'pdo',

);

这是我的本地主机连接

$db['mysql'] = array(
'dsn'   => 'mysql:hostname=localhost; dbname=1410inventory',
'hostname' => '',
'username' => 'root',
'password' => '',
'database' => '',
'dbdriver' => 'pdo',

);

我的日志记录如下:

  

错误-2018-07-23 19:36:18-> PDO:子驱动程序无效或不存在

请帮助 编辑:这是一个测试数据库。

1 个答案:

答案 0 :(得分:0)

我几乎不建议您不要使用PDO驱动程序,因为它速度较慢,并且您没有所有的codeigniter查询构建器(更多信息here)。相反,我建议您使用msqli驱动程序,它看起来像这样:

$active_group = 'default';
$query_builder = TRUE;

$db['default'] = array(
    'dsn'   => '',
    'hostname' => 'localhost',
    'username' => 'SomeUserName',
    'password' => 'SomePass',
    'database' => '1410inventory',
    'dbdriver' => 'mysqli',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'development'), //change to production when needed
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

如果您仍想使用PDO,只需像这样'dbdriver' => 'pdo',删除'dbdriver' => 'pdo'之后的最后一个逗号,因为它是数组的最后一个元素,因此无需添加多余的逗号并更改{{ 1}}代表hostname,因此您的localhost连接应该看起来像

host