In diesem Artikel werden hauptsächlich Tutorials zur Datenbankkonfiguration und SQL-Operationen im Yii-Framework von PHP vorgestellt. Der Artikel enthält hauptsächlich Beispiele für die Verwendung verschiedener Abfrageanweisungen in Yii
So verbinden Sie das PHP-YII-Framework mit der Datenbank
Datenbankzugriff ( DAO )
Yii enthält eine auf PHP basierende Datenzugriffsschicht (DAO). DAO bietet eine einheitliche API für verschiedene Datenbanken (M, Model) in MVC, an die QueryBuilder gewöhnt ist Erstellen Sie dynamische Abfrageanweisungen. DAO bietet einfache und effiziente SQL-Abfragen, die an verschiedenen Stellen zur Interaktion mit der Datenbank verwendet werden können.
Yii unterstützt standardmäßig die folgenden Datenbanken (DBMS):
MySQLMariaDBSQLitePostgreSQLCUBRID : Version>= 9.3. (Aufgrund eines Fehlers in der PHP-PDO-Erweiterung ist der Referenzwert ungültig, daher müssen Sie 9.3 sowohl auf der Client- als auch auf der Serverseite von CUBRID verwenden.)OracleMSSQL: Version> =2005.
1. Konfiguration
Um mit der Verwendung der Datenbank zu beginnen, müssen Sie zunächst die Datenbankverbindungskomponente konfigurieren, was durch Hinzufügen der Datenbankkomponente zur Anwendungskonfiguration (der „Basiskomponente“) erreicht wird „Webanwendung ist config/web.php), DSN (Datenquellenname) ist der Datenquellenname, der zur Angabe von Datenbankinformationen verwendet wird. Wie unten gezeigt:
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. Nach der Konfiguration der Verbindungskomponente können Sie für den Zugriff die folgende Syntax verwenden:
$connection = \Yii::$app->db;
Wenn Sie über ODBC eine Verbindung zur Datenbank herstellen möchten, müssen Sie das Attribut yiidbConnection::driverName konfigurieren, zum Beispiel:
'db' => [ 'class' => 'yii\db\Connection', 'driverName' => 'mysql', 'dsn' => 'odbc:Driver={MySQL};Server=localhost;Database=test', 'username' => 'root', 'password' => '', ],
Wenn Sie die Datenbankverbindung nicht als globale Anwendungskomponente definieren möchten, können Sie sie im Code konfigurieren. Zur direkten Initialisierung verwenden:
$connection = new \yii\db\Connection([ 'dsn' => $dsn, 'username' => $username, 'password' => $password, ]); $connection->open();
3. Wenn Sie zusätzliches SQL ausführen müssen Abfragen nach dem Herstellen der Verbindung können Sie den folgenden Code zur Anwendungskonfigurationsdatei hinzufügen:
return [ // ... 'components' => [ // ... 'db' => [ 'class' => 'yii\db\Connection', // ... 'on afterOpen' => function($event) { $event->sender->createCommand("SET time_zone = 'UTC'")->execute(); } ], ], // ... ];
Bei Ausführung Wenn SQL keine Daten zurückgibt, können Sie die Ausführungsmethode im Befehl verwenden:
$command = $connection->createCommand('UPDATE post SET status=1 WHERE id=1'); $command->execute();
Sie können die Methoden insert, update und delete verwenden, die basierend auf den Parametern entsprechendes SQL generieren und ausführen.
// 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();
Empfohlen: "YII-Tutorial"
Das obige ist der detaillierte Inhalt vonSo stellen Sie mithilfe des PHP-YII-Frameworks eine Verbindung zur Datenbank her. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!