我的数据未插入到生产站点上的数据库中,而是在我的本地测试站点上正常工作。 我的codeigniter配置是正确的。 如果我在数据库中手动执行查询,它会显示正确的消息并将数据get插入到数据库中。*)当我打印查询时,它也是预期的。
我认为这是服务器配置问题。我正在使用go daddy和mysql。
数据库配置:
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'etc';
$db['default']['password'] = 'etc';
$db['default']['database'] = 'ieshopif_y';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = FALSE;
$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;
*)手动执行查询后,我收到此成功消息:
Connecting to database: ieshopif_y
Connected OK:file: /home/ieshopif/public_html/application/config/database.php Line: 82
如果是数据库问题,我想知道如何配置数据库以使其正常工作。
答案 0 :(得分:2)
这些选项在生产,开发和测试方面可能有所不同:
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'etc';
$db['default']['password'] = 'etc';
$db['default']['database'] = 'ieshopif_y';
我建议你将它与index.php上定义的环境常量分开,因为hostname
在生产服务器中可能有所不同。试试这个:
if (defined('ENVIRONMENT')) {
switch (ENVIRONMENT) {
case 'development':
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'username';
$db['default']['password'] = 'password';
$db['default']['database'] = 'ieshopif_y';
break;
case 'testing':
case 'production':
$db['default']['hostname'] = 'domain.com';
$db['default']['username'] = 'root';
$db['default']['password'] = 'secure_pass';
$db['default']['database'] = 'ieshopif_y';
break;
default:
exit('The application environment is not set correctly.');
}
}