首頁 php框架 YII php yii框架怎麼連接資料庫

php yii框架怎麼連接資料庫

Nov 04, 2019 pm 02:15 PM
yii 連接資料庫

這篇文章主要介紹了PHP的Yii框架中使用資料庫的配置和SQL操作實例教程,Yii支援綁定多種資料庫,文中主要對各種查詢語句在Yii中的使用給出了例子,需要的朋友可以參考下

php 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();
登入後複製

推薦:《YII教學

以上是php yii框架怎麼連接資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何使用PHP框架Yii開發一個高可用的雲端備份系統 如何使用PHP框架Yii開發一個高可用的雲端備份系統 Jun 27, 2023 am 09:04 AM

隨著雲端運算技術的不斷發展,資料的備份已經成為了每個企業必須要做的事情。在這樣的背景下,開發一款高可用的雲端備份系統尤其重要。而PHP框架Yii是一款功能強大的框架,可以幫助開發者快速建立高效能的Web應用程式。以下將介紹如何使用Yii框架開發一款高可用的雲端備份系統。設計資料庫模型在Yii框架中,資料庫模型是非常重要的一環。因為資料備份系統需要用到很多的表和關

Symfony vs Yii2:哪個框架比較適合開發大型Web應用? Symfony vs Yii2:哪個框架比較適合開發大型Web應用? Jun 19, 2023 am 10:57 AM

隨著Web應用需求的不斷增長,開發者在選擇開發框架方面也越來越有選擇的空間。 Symfony和Yii2是兩個備受歡迎的PHP框架,它們都具有強大的功能和效能,但在面對需要開發大型網路應用程式時,哪個框架更適合呢?接下來我們將對Symphony和Yii2進行比較分析,以幫助你更好地進行選擇。基本概述Symphony是一個由PHP編寫的開源Web應用框架,它是建立

php如何使用Yii3框架? php如何使用Yii3框架? May 31, 2023 pm 10:42 PM

隨著互聯網的不斷發展,Web應用程式開發的需求也越來越高。對於開發人員而言,開發應用程式需要一個穩定、高效、強大的框架,這樣可以提高開發效率。 Yii是一款領先的高效能PHP框架,它提供了豐富的特性和良好的性能。 Yii3是Yii框架的下一代版本,它在Yii2的基礎上進一步優化了效能和程式碼品質。在這篇文章中,我們將介紹如何使用Yii3框架來開發PHP應用程式。

Yii框架中的資料查詢:有效率地存取數據 Yii框架中的資料查詢:有效率地存取數據 Jun 21, 2023 am 11:22 AM

Yii框架是一個開源的PHPWeb應用程式框架,提供了眾多的工具和元件,簡化了Web應用程式開發的流程,其中資料查詢是其中一個重要的元件之一。在Yii框架中,我們可以使用類似SQL的語法來存取資料庫,從而有效率地查詢和操作資料。 Yii框架的查詢建構器主要包括以下幾種類型:ActiveRecord查詢、QueryBuilder查詢、命令查詢和原始SQL查詢

如何使用PHP讀取資料庫中的前幾筆記錄? 如何使用PHP讀取資料庫中的前幾筆記錄? Mar 22, 2024 am 10:03 AM

如何使用PHP讀取資料庫中的前幾筆記錄?在開發Web應用程式時,我們經常需要從資料庫中讀取資料並展示給使用者。有時候,我們只需要顯示資料庫中的前幾筆記錄,而不是全部。本文將教您如何使用PHP讀取資料庫中的前幾筆記錄,並提供具體的程式碼範例。首先,假設您已經連接到資料庫並選擇了要操作的表。以下為一個簡單的資料庫連接範例:

Yii2 vs Phalcon:哪個框架更適合開發顯示卡渲染應用? Yii2 vs Phalcon:哪個框架更適合開發顯示卡渲染應用? Jun 19, 2023 am 08:09 AM

在當前資訊時代,大數據、人工智慧、雲端運算等技術已成為了各大企業關注的熱點。在這些技術中,顯示卡渲染技術作為一種高效能圖形處理技術,受到了越來越多的關注。顯示卡渲染技術廣泛應用於遊戲開發、影視特效、工程建模等領域。而對於開發者來說,選擇一個適合自己專案的框架,是一個非常重要的決策。在目前的語言中,PHP是一種相當有活力的語言,一些優秀的PHP框架如Yii2、Ph

Java連接資料庫的SQLException異常該如何處理? Java連接資料庫的SQLException異常該如何處理? Jun 24, 2023 pm 09:23 PM

在Java程式中,連接資料庫是很常見的操作。雖然連接資料庫能夠使用現成的類別庫和工具,但在程式開發時仍然有可能出現各種異常情況,其中SQLException異常就是其中一種情況。 SQLException是Java提供的一個異常類,它描述了在存取資料庫時發生的錯誤,例如查詢語句錯誤、表不存在、連接中斷等。對於Java程式設計師來說,特別是那些使用JDBC(Java數

go語言怎麼連結資料庫 go語言怎麼連結資料庫 Dec 12, 2023 pm 03:51 PM

go語言透過匯入資料庫驅動、建立資料庫連線、執行SQL語句、使用預處理語句和事務處理等步驟來連接資料庫。詳細介紹:1、導入資料庫驅動,使用github.com/go-sql-driver/mysql包來連接MySQL資料庫;2、建立資料庫連接,提供資料庫的連接信息,包括資料庫的地址、使用者名稱、密碼等再透過sql.Open函數來建立資料庫連線等等。

See all articles