Ошибка подключения к базе данных в Yii - PullRequest
0 голосов
/ 21 апреля 2011

Я прохожу учебник по 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_',
),

Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 12 мая 2011

Вы читаете этот урок по Yii Blog?

http://www.yiiframework.com/doc/blog/1.1/en/prototype.database

Используете ли вы базу данных MySQL или просто SQLite? DBName - это блог, а не myblog на этой странице.

Совет. Если вы хотите использовать MySQL вместо SQLite для хранения данных, вы можете создать базу данных MySQL с именем blog, используя операторы SQL в /wwwroot/yii/demos/blog/protected/data/schema.mysql.sql. Затем измените конфигурацию приложения следующим образом:

return array(
    ......
    'components'=>array(
        ......
        'db'=>array(
            'connectionString' => 'mysql:host=localhost;dbname=blog',
            'emulatePrepare' => true,
            'username' => 'root',
            'password' => '',
            'charset' => 'utf8',
            'tablePrefix' => 'tbl_',
        ),
    ),
  ......
);
1 голос
/ 23 июля 2011

обратите внимание на следующую ошибку, пока есть ваша база данных! SQLSTATE [42000] [1049] Тест неизвестной базы данных: хост = localhost

есть проблема в php коде

Неправильный код

$ pdo = новый PDO ('mysql: host = localhost: dbname = shenakht', "mehdi", "1");

Правильный код

$ pdo = новый PDO ('mysql: host = localhost; dbname = shenakht', "mehdi", "1");

Разница между: и;

если ваш код правильный, перейдите на http://localhost/phpmyadmin и создайте базу данных!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...