Cet article présente principalement les didacticiels de configuration de base de données et d'exemples d'opérations SQL dans le framework Yii de PHP. Yii prend en charge la liaison de diverses bases de données. L'article donne principalement des exemples d'utilisation de diverses instructions de requête dans Yii.
Comment connecter le framework php yii à la base de données
Accès à la base de données ( DAO )
Yii inclut une couche d'accès aux données (DAO) construite sur PHP PDO fournit une API unifiée pour différentes bases de données. ActiveRecord fournit des bases de données et des modèles (M, Model) dans MVC, QueryBuilder est utilisé pour. créer des instructions de requête dynamiques. DAO fournit des requêtes SQL simples et efficaces, qui peuvent être utilisées à divers endroits pour interagir avec la base de données
Yii prend en charge les bases de données suivantes par défaut (SGBD) :
MySQLMariaDBSQLitePostgreSQLCUBRID. : Version>= 9.3. (En raison d'un bug dans l'extension PHP PDO, la valeur de référence sera invalide, vous devez donc utiliser 9.3 côté client et côté serveur de CUBRID)OracleMSSQL : Version>
1. Configuration
Pour commencer à utiliser la base de données, vous devez d'abord configurer le composant de connexion à la base de données, ce qui est obtenu en ajoutant le composant db à la configuration de l'application (le "de base " L'application Web est config/web.php), DSN (Data Source Name) est le nom de la source de données, utilisé pour spécifier les informations de la base de données. Comme indiqué ci-dessous :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. Après avoir configuré le composant de connexion , vous pouvez utiliser la syntaxe suivante pour accéder :
$connection = \Yii::$app->db;
'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 Si vous devez exécuter du SQL supplémentaire. requêtes après avoir créé la connexion, vous pouvez ajouter le code suivant au fichier de configuration de l'application :
return [ // ... 'components' => [ // ... 'db' => [ 'class' => 'yii\db\Connection', // ... 'on afterOpen' => function($event) { $event->sender->createCommand("SET time_zone = 'UTC'")->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();
Tutoriel YII"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!