PHP的mysqli擴充

來源:互聯網
上載者:User

標籤:

mysqli是一種物件導向的技術

使用 mysqli 類

mysqli 類對象主要控制PHP和MySQL伺服器之間的串連、選擇資料庫、發送SQL語句,以及設定字串等

1.串連MySQL伺服器

方法一:

$mysqli = new mysqli("localhost","root","1234567","bookstore");//串連mysql 資料庫

可通過mysqli對象的select_db()方法為改變當前的串連改變它的預設資料庫

方法二:

$mysqli = new mysqli();

$mysqli->connect("localhost","root","1234567");

$mysqli->select_db("bookstore");//選擇特定的資料庫

方法三:

<?php

$mysqli = mysqli_init();//建立一個連線物件

//設定串連選項

$mysqli->options();

$mysqli->real_connect("localhost","root","1234567","bookstore");

?>

處理串連錯誤報表

mysqli_connect_errno();//函數測試在建立串連的過程中是否發生錯誤

mysqli_connect_error();//函數返回相關出錯訊息

2.關閉與MySQL伺服器的串連

$mysqli->close();//

3.執行SQL語句

//常用方法是query();成功返回true

mysqli對象的affected_rows屬性擷取有多少條記錄發生變化

insert_id();返回自動產生的編號

使用 mysqlI_result 類

類對象包含select查詢的結果,和擷取結果集中資料的成員方法、成員屬性

該類對象,預設是通過mysqli對象中的query()方法執行select語句返回的,並把所有的結果資料從MySQL伺服器取回到用戶端,儲存在該對象中

建立結果集對象

方法一:

調用query();方法

例:

$result = $mysqli->query("sql語句");//將資料返回到用戶端

$result = $mysqli->query("sql語句",MYSQLI_USE_RESULT);//留在MySQL伺服器上

方法二:$mysqli->real_query("sql語句");//無法確定返回結果集的類型$result = $mysqli->store_result();//擷取一個緩衝結果集

使用$result->close();方法回收結果集佔用的記憶體


結果集對象提供 fetch_row()  fetch_assoc()  fetch_object() fetch_array() 方法讀取結果集中的資料


擷取列資訊

結果集對象的 field_count 屬性 給出資料列的個數

current_field 屬性 擷取指向當前列的位置

field_seek()方法 改變指向當前列的位移位置

fetch_field()方法 返回當前列的資訊


一次執行多條SQL命令

使用mysqli對象的multi_query()方法執行多條SQL語句,多條SQL語句寫在一個字串中,且用分號分隔

store_result()//將全部結果取回用戶端

more_result()//檢查是否還有其他結果集

next_result()//擷取下一個結果集

使用 mysqli_stmt 類

該類對象,定義和執行參數化的SQL命令

擷取預先處理語句對象

方法一:

使用mysqli對象中的prepare()方法準備要執行的SQL語句,獲得一個mysqli_stmt對象

例:

$stmt = $mysqli->prepare("sql語句");//SQL語句的各參數替換為預留位置,通常使用?

方法二:

$stmt = $mysqli->stmt_init();//擷取一個mysqli_stmt 對象

$stmt->prepare("SQL語句");

使用bind_param()方法 綁定參數

綁定參數的順序應與預先處理語句中預留位置表示的參數順序對應

i 表示所有INTEGER類型

d 表示DOUBLE和FLOAT類型

s 表示所有其他類型(包括字串)

b 表示位元據類型

例:

$stmt = $mysqli->prepare($insertbook);
//綁定變數
$stmt->bind_param(‘ssd‘,$bookName,$publisher,$price);
$bookName = "css";
$publisher = "清華大學出版社";
$price = ‘100‘;
$stmt->execute();
echo ‘插入的行數:‘.$stmt->affected_rows.‘<br>‘;
echo ‘自動成長的ID:‘.$mysqli->insert_id.‘<br>‘;

execute() 執行準備好的語句

close()  回收資源













PHP的mysqli擴充

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.