ホームページ > 記事 > PHPフレームワーク > php yiiフレームワークを使用してデータベースに接続する方法
この記事では、主に PHP の Yii フレームワークでのデータベース構成と SQL 操作のサンプル チュートリアルを紹介します。Yii はさまざまなデータベースのバインドをサポートしています。この記事では主に、Yii でのさまざまなクエリ ステートメントの使用例が示されています。友達が必要な方は、## を参照してください。
#php yii フレームワークデータベースへの接続方法
データベース アクセス (DAO)
Yii には、PHP PDO 上に構築されたデータ アクセス層 (DAO) が含まれています。DAO は、さまざまなデータベースに統合された API を提供します。ActiveRecord は、MVC でデータベースとモデル (M、Model) を提供します。動的クエリの作成には QueryBuilder が使用されます。ステートメント。DAO は、データベースと対話するためにさまざまな場所で使用できる、シンプルで効率的な SQL クエリを提供します。
Yii は、デフォルトで次のデータベース (DBMS) をサポートします。
MySQLMariaDBSQLitePostgreSQLCUBRID: バージョン> = 9.3. (PHP PDO 拡張機能のバグにより、参照値が無効になるため、CUBRID のクライアント側とサーバー側の両方で 9.3 を使用する必要があります)OracleMSSQL: バージョン> =2005.
1. 構成
データベースの使用を開始するには、まずデータベース接続コンポーネントを構成する必要があります。これは、アプリケーション構成 (「基本」Web アプリケーション) に db コンポーネントを追加することで実現されます。は config/web.php)、DSN (データ ソース名) はデータ ソース名であり、データベース情報を指定するために使用されます。以下に示すように:
return [ // ... 'components' => [ // ... 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=mydatabase', // MySQL, MariaDB //'dsn' => 'sqlite:/path/to/database/file', // SQLite //'dsn' => 'pgsql:host=localhost;port=5432;dbname=mydatabase', // PostgreSQL //'dsn' => 'cubrid:dbname=demodb;host=localhost;port=33000', // CUBRID //'dsn' => 'sqlsrv:Server=localhost;Database=mydatabase', // MS SQL Server, sqlsrv driver //'dsn' => 'dblib:host=localhost;dbname=mydatabase', // MS SQL Server, dblib driver //'dsn' => 'mssql:host=localhost;dbname=mydatabase', // MS SQL Server, mssql driver //'dsn' => 'oci:dbname=//localhost:1521/mydatabase', // Oracle 'username' => 'root', //数据库用户名 'password' => '', //数据库密码 'charset' => 'utf8', ], ], // ... ];2。接続コンポーネントを構成した後、次のことができます。次の構文を使用してアクセスします。
$connection = \Yii::$app->db;
ODBC 経由でデータベースに接続する場合は、yii\db\Connection::driverName プロパティを設定する必要があります。例:
'db' => [ 'class' => 'yii\db\Connection', 'driverName' => 'mysql', 'dsn' => 'odbc:Driver={MySQL};Server=localhost;Database=test', 'username' => 'root', 'password' => '', ],
データベース接続をグローバル アプリケーション コンポーネントとして定義したくない場合は、コード内で直接初期化できます:
$connection = new \yii\db\Connection([ 'dsn' => $dsn, 'username' => $username, 'password' => $password, ]); $connection->open();3. データベース接続を作成した後に追加の SQL クエリを実行する必要がある場合は、接続するには、次のコードをアプリケーション構成ファイルに追加できます:
return [
// ...
'components' => [
// ...
'db' => [
'class' => 'yii\db\Connection',
// ...
'on afterOpen' => function($event) {
$event->sender->createCommand("SET time_zone = 'UTC'")->execute();
}
],
],
// ...
];
SQL を実行してもデータが返されない場合は、コマンドでexecute メソッドを使用できます:
$command = $connection->createCommand('UPDATE post SET status=1 WHERE id=1'); $command->execute();
// INSERT $connection->createCommand()->insert('user', [ 'name' => 'Sam', 'age' => 30, ])->execute(); // INSERT 一次插入多行 $connection->createCommand()->batchInsert('user', ['name', 'age'], [ ['Tom', 30], ['Jane', 20], ['Linda', 25], ])->execute(); // UPDATE $connection->createCommand()->update('user', ['status' => 1], 'age > 30')->execute(); // DELETE $connection->createCommand()->delete('user', 'status = 0')->execute();
推奨: "
YII チュートリアル以上がphp yiiフレームワークを使用してデータベースに接続する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。