在PHP中用mysqli連接數據庫

一. 創建和斷開鏈接mysql

1. 建立一個 mysqli 的對象sql

$_mysqli = new  mysqli();數據庫

2. 鏈接 MySQL的主機、用戶、密碼、數據庫數組

$_mysqli->connect( 'localhost' , 'root' , '', ‘shujuku’);瀏覽器

3. 建立帶鏈接參數的 mysqli對象函數

$_mysqli = new mysqli( 'localhost' , 'root' , '', ‘shujuku’);fetch

4. 單獨選擇數據庫編碼

$_mysqli->select_db( 'shujuku’);指針

5. 斷開 MySQL對象

$_mysqli->close();

 

二. 處理鏈接錯誤

若是沒法鏈接 MySQL數據庫,那麼這個頁面不太可能繼續完成預期的工做。所以,一

定要注意監視鏈接錯誤並相應地作出反應 。Mysqli 擴展包含有不少特性能夠用來捕獲錯誤信

息,例如:mysqli_connect_errno() 和 mysqli_connect_error() 方法。

mysqli_connect_errno()函數返回鏈接數據庫返回的錯誤號。

Mysqli_connect_error()函數返回鏈接數據庫返回的錯誤代碼。

if(mysqli_connect_errno()) {

echo' 數據庫鏈接錯誤,錯誤信息: ' .mysqli_connect_error();

exit();

}

errno屬性返回數據庫操做時的錯誤號。

error屬性返回數據庫操做時的錯誤代碼。

if( $_mysqli ->errno) {

echo' 數據庫操做時發生錯誤,錯誤代碼是: ' . $_mysqli ->error;

}

 

三. 與數據庫進行交互

1. 獲取數據

網頁程序大多數工做都是在獲取和格式化所請求的數據。爲此,要向數據庫發送

SELECT查詢,再對結果進行迭代處理,將各行輸出給瀏覽器,並按照本身的要求輸出。

// 設置一下編碼 utf8

$_mysqli->set_charset( "utf8" );

// 建立一句 SQL 語句

$_sql = "SELECT* FROM  表名" ;

// 執行 sql 語句把結果集賦

$_result = $_mysqli->query( $_sql );

// 將結果集的第一行輸出

print_r( $_result->fetch_row());

// 釋放查詢內存 ( 銷燬 )

$_result->free();

 

2. 解析查詢結果

一旦執行了查詢並準備好結果集 ,下面就能夠解析獲取到的結果行了 。 你可使用多個

方法來獲取各行中的字段 ,具體選擇哪個方法主要取決於我的喜愛 , 由於只是引用字段的

方法有所不一樣。

將結果集放到對象中

因爲你可能會使用 mysqli的面向對象的語法 , 因此徹底能夠採用面向對象的方式管理結

果集。可使用fetch_object() 方法來完成。

// 將結果集包裝成對象

$_row = $_reslut->fetch_object();

使用索引數組和關聯數組

// 將結果集包裝成數組 ( 索引 +關聯 )

$_row = $_reslut->fetch_array();

// 輸出下標是 3 的字段(屬性)

echo $_row [ 3 ];

// 將結果集包裝成索引數組

$_row = $_reslut->fetch_row();

echo $_row [ 3 ];

// 將結果集包裝成關聯數組

$_row = $_reslut->fetch_assoc();

 

3. 肯定所選擇的行和受影響的行

一般但願可以肯定 SELECT查詢返回的行數 , 或者受 INSERT 、 UPDATE 或 DELET 查詢

影響的行數。咱們可使用num_rows 和 affected_rows 兩個屬性

// 當使用查詢時,想了解 SELECT查詢了多少行,可使用 num_rows 。

echo $_reslut->num_rows;

// 當使用查詢時 , 想了解SELECT 、 INSERT 、 UPDATE 、 DELETE 查詢時影響的行

數,可使用affected_rows; 注意,它是 $_mysqli 下的屬性

echo $_mysqli->affected_rows;

 

5. 執行多條 SQL 語句

有的時候 ,咱們須要在一張頁面上同時執行多條 SQL 語句 , 以前的方法就是分別建立多

個結果集而後使用。但這樣資源消耗很大,也不利於管理。PHP 提供了執行多條 SQL 語句

的方法 $_mysqli->multi_query() ;

// 建立多條 SQL 語句

$_sql .="SELECT * FROM user;" ;

$_sql .="SELECT * FROM photo;" ;

$_sql .="SELECT * FROM article" ;

// 開始執行多條 SQL 語句

if ( $_mysqli->multi_query( $_sql )) {

//開始獲取第一條 SQL 語句的結果集

$_result= $_mysqli ->store_result();

print_r($_result ->fetch_array());

//將結果集指針移到下一個

$_mysqli->next_result();

$_result= $_mysqli ->store_result();

print_r($_result ->fetch_array());

$_mysqli->next_result();

$_result= $_mysqli ->store_result();

print_r($_result ->fetch_array());

} else {

echo'sql 語句有誤! ' ;

}

 

6. 執行數據庫事務

// 首先你必須關閉自動提交數據

$_mysqli->autocommit( false );

// 建立一個 SQL 語句,必須同時運行成功,不能出現一個成功,一個失敗

$_sql .="UPDATE tg_flower SET ...  WHERE ....;" ;

相關文章
相關標籤/搜索