php串連資料庫的兩種方式- 面向過程 物件導向

來源:互聯網
上載者:User

標籤:sso   資料庫連結   地址   數字   style   關閉   size   mysqli   通過   

 

一、物件導向
1. 連結資料庫
$conn = @new mysqli("127.0.0.1","root","","mydb");

if($conn->connect_errno){ //返回連結錯誤號碼
// 返回連結錯誤資訊
die("資料庫連結失敗:".$conn->connect_error);
}

2. 選擇資料庫
$conn->select_db("mydb") or die("選擇資料庫失敗:".$conn->error);

3.設定字元集編碼
$conn->set_charset("utf8") or die("設定字元集失敗:".$conn->error);

4. 準備SQL語句
$sql = <<<sql
select * from tb1;
sql;

5. 執行SQL語句,返回結果集或者布爾類型true/false
$res = $conn->query($sql);

6. 返回結果集中的欄位數
var_dump($res->field_count);
    返回結果集中的總行數
var_dump($res->num_rows);

7. 返回關聯陣列和索引數組
var_dump($res->fetch_array());
   返回索引數組
var_dump($res->fetch_row());
   返回關聯陣列
var_dump($res->fetch_assoc());
   返回一個對象
var_dump($res->fetch_object());

8. 將結果集指標移到指定位置
$res->data_seek(0);


9. 返回結果集中的一個欄位,並將指標移到下一列
var_dump($res->fetch_field());
   直接返回結果集中的所有欄位
var_dump($res->fetch_fields());


10.釋放結果集資源
$res->close();// $res->free();
    關閉資料庫連接
$conn->close();


二、面向過程

1.串連資料庫

@ $conn = mysqli_connect("127.0.0.1", "root", "slk5550123", "mydb");

if(mysqli_connect_error($conn)){ //返回錯誤資訊
exit("資料庫連接失敗,失敗號".mysqli_connect_errno($conn)."失敗資訊:".mysqli_connect_error($conn));
}
       

   串連資料庫同時判斷
 @ $conn = mysqli_connect("127.0.0.1","root","slk55501233","mydb") or die("資料庫連接失敗,失敗資訊:".mysqli_connect_error($conn));


串連資料庫: mysqli_connect
參數: ① 主機地址 ②MySql使用者名稱 ③MySql密碼 ④選擇連結的資料庫 ⑤連接埠號碼
 返回: 如果連結成功,返回資源類型的標識符號
 如果串連失敗,返回false

 如果有MySql建立的串連不止一條,那麼以後操作資料庫的各種函數,都必須傳入返回的串連符號。
 如果與MySql建立的串連只有一條,那麼以後操作資料庫的各種函數就不必傳入這個標識符號


3. 選擇資料庫mysqli_select_db
 參數: ① 資源表示符 ②選擇的資料庫名稱
 返回: 串連成功返回true,串連失敗返回false

 如果修改資料庫成功,則資源標識符中的資料庫就會發生變更
 如果修改失敗,而沒有通過代碼終止操作,則後續代碼可以使用原資料庫繼續執行。

//選擇資料庫同時判斷
 mysqli_select_db($conn,"mydb") or die("資料庫選擇失敗");

 

4.設定字元集編碼
mysqli_set_charset($conn,"utf8");
//只能是utf8,而不能使utf-

5.編寫sql語句
$sql = "select * from tb1";

6. 執行sql語句
 如果是增刪改,將返回bool類型 表示是否成功 DML
 如果是查詢,將返回資源結果集 DQL
 如果查詢失敗,返回false


$res = mysqli_query($conn,$sql);$res = mysqli_query($conn,$sql);

 

7.返回資料庫中操作影響的行數及插入語句的ID

DML時: 返回上一次操作時,受影響的行數
var_dump(mysqli_affected_rows($conn));
 執行插入語句時,返回上次最新插入的主鍵id
 var_dump(musqli_insert_id($conn))

DQL時,返回資源結果集中的行數
mysqli_num_rows($res);
DQL時,返回資源結果集中的欄位數
mysqli_num_fields($res);

8. 處理結果集,返回關聯陣列和索引數組
 參數: ① 需要處理的結果集
     ② 返回那種數組格式,mysqli_assoc - 關聯陣列
 mysql_num 數字數組
 mysql_both 預設,同時產生關聯和數字數組


返回關聯陣列
//mysqli_fetch_assoc($result)
返回索引數組
//mysqli_fetch_row($result)
返回一個對象
//mysqli_fetch_object($result)

 

9.返回結果集中的一個欄位,並將指標移到下一列
mysqli_data_seek:設定結果集指標位置
mysqli_data_seek($res, 0);

返回結果集中每一欄欄位的資訊(欄位名、表名、資料庫名、欄位類型、長度等)*/
mysqli_fetch_field($res);


10.釋放查詢資源結果集並關閉資料庫連接 
  mysql_free_result($res);
  關閉資料庫連接
  mysql_close($conn);

php串連資料庫的兩種方式- 面向過程 物件導向

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.