Соединение с БД Yii

Соединение с базой данных

Большинство веб-приложений используют базы данных, и наше приложение не исключение. Для использования базы данных необходимо объяснить приложению, как к ней подключиться. Это делается в конфигурационном файле

WebRoot/testdrive/protected/config/main.php

Например, так:

return array(
    …
    'components'=>array(
        …
        'db'=>array(
            'connectionString'=>'sqlite:protected/data/testdrive.db',
        ),
    ),
    …
);

В приведённом выше коде указано, что приложение должно подключиться к базе данных SQLite

WebRoot/testdrive/protected/data/testdrive.db

как только это понадобится.
Отметим, что база данных SQLite уже включена в сгенерированное приложение. В этой базе имеется только одна таблица tbl_user:

CREATE TABLE tbl_user (
    id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
    username VARCHAR(128) NOT NULL,
    password VARCHAR(128) NOT NULL,
    email VARCHAR(128) NOT NULL
);

Если вы хотите использовать базу данных MySQL, то вы можете воспользоваться файлом
WebRoot/testdrive/protected/data/schema.mysql.sql для её создания.

Далее добавляю:

то есть - для использования MySQL надо раскомментировать (в файле = WebRoot/testdrive/protected/config/main.php) блок ниже кода , который имеет отношения к sql lite -
последний же наоборот закомментировать , а именно (+ указать пароль, и и имя бд, конечно же - и пользователя при необходимости):

/* 'db'=>array(
			'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',
		), */
		// uncomment the following to use a MySQL database
		
		'db'=>array(
			'connectionString' => 'mysql:host=localhost;dbname=testdrive',
			'emulatePrepare' => true,
			'username' => 'root',
			'password' => '',
			'charset' => 'utf8',
		),

Создать базу в MySQL можно используя имеющийся файл, который рекомендовался выше по тексту, например используя функцию SQL в PHP My Admin^

Примечание:

Для работы с базой данных Yii требуется расширение PHP PDO и соответствующий драйвер PDO. Для тестового приложения необходимо подключить расширения php_pdo и php_pdo_sqlite.