小編給大家分享一下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 擴展的一個bug 引用值會無效,所以你需要在 CUBRID的客戶端和服務端都使用 9.3 )OracleMSSQL: 版本>=2005.
1、配置
開始使用數據庫首先需要配置數據庫連接組件,通過添加 db 組件到應用配置實現("基礎的" Web 應用是 config/web.php),DSN( Data Source Name )是數據源名稱,用于指定數據庫信息.如下所示:
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,update,delete 方法,這些方法會根據參數生成合適的SQL并執行.
// 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();
以上是“php yii框架如何連接數據庫”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道!
當前文章:phpyii框架如何連接數據庫
網頁路徑:http://m.newbst.com/article28/jeejcp.html
成都網站建設公司_創新互聯,為您提供響應式網站、Google、App開發、面包屑導航、外貿網站建設、做網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯