我正在阅读有关创建博客和遵循步骤的Yii教程。对于数据库,我刚刚导入了测试数据库。一切都很好。
当我在main.php中与数据库建立连接时,它显示以下错误:
CDbConnection无法打开数据库连接:SQLSTATE [42000] [1049]未知数据库'myblog'
main.php中的数据库连接数组是:
//'db'=>array(
// 'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',
//),
// uncomment the following to use a MySQL database
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=myblog',
'emulatePrepare' => true,
'username' => 'root',
'password' => 'root',
'charset' => 'utf8',
'tablePrefix' => 'ia_',
),
我做错了什么?
答案 0 :(得分:2)
您是否关注此Yii博客教程?
http://www.yiiframework.com/doc/blog/1.1/en/prototype.database
您使用的是MySQL数据库还是SQLite? DBName是博客,而不是此页面上的myblog。
提示:如果要使用MySQL而不是SQLite来存储数据,可以使用/wwwroot/yii/demos/blog/protected/data/schema.mysql.sql中的SQL语句创建名为blog的MySQL数据库。然后,按如下所示修改应用程序配置,
return array(
......
'components'=>array(
......
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=blog',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'tablePrefix' => 'tbl_',
),
),
......
);
答案 1 :(得分:1)
在您的数据库中注意以下错误! SQLSTATE [42000] [1049]未知数据库'test:host = localhost
php代码中存在问题
错误的代码
$ pdo = new PDO('mysql:host = localhost:dbname = shenakht',“mehdi”,“1”);
更正代码
$ pdo = new PDO('mysql:host = localhost; dbname = shenakht',“mehdi”,“1”);
之间的区别是:和;
如果您的代码正确,请转到http://localhost/phpmyadmin并创建数据库!