mysql擴展庫mysqli講解!!!!!

**php

問題引入:當你使用mysql_connect(‘localhost’,’root’,’password’)鏈接數據庫的時候會出現一個警告:

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\liyanhui_tpl\demo1.php on line 3

**
這裏寫圖片描述mysql

備註:mysqli是mysql上發展起來的類庫,它的意思是建議使用mysqli或者pdo去鏈接數據庫——未來的主流。mysql確實是太不安全並且太老舊了。因此在這裏我簡單介紹mysqli類的一些簡單操做,步步遞進,耐心學習sql

  1. 鏈接具體操做
    //建立mysqli對象(資源句柄)
    $mysqli = new mysqli(); 數據庫

    //鏈接數據庫
    $mysqli->connect(‘localhost’,’root’,’password’); 數組

    //設置字符編碼
    $mysqli->set_charset(‘utf-8’); 安全

    //選擇數據庫
    $mysqli->select_db(‘xiaozheng’); bash

    //關閉數據庫
    $mysqli->close(); markdown

    //固然上面鏈接操做能夠簡單寫成:
    $_mysqli = new mysqli(‘localhost’,’root’,’password’,’test’); 函數

  2. 拓展:介紹四個關於鏈接數據庫錯誤的函數
    mysqli_connect_errno()函數返回鏈接數據庫返回的錯誤號。
    Mysqli_connect_error()函數返回鏈接數據庫返回的錯誤代碼
    errno屬性返回數據庫操做時的錯誤號。
    error屬性返回數據庫操做時的錯誤代碼
    好比:
    這裏寫圖片描述

兩個函數是操做,兩個函數是鏈接記好就行。

3 . CURL操做
獲取數據集的四個函數:每次只能取一條數據學習

fetch_row():索引數組,能夠經過echo "$row[0]"來輸出數據 

  fetch_assoc():關聯數組,能夠經過 echo "$row['id']",關聯下標來輸出 

  fetch_array():即關聯又索引數組,上面兩種方式均可以輸出

  fetch_object():生成對象,只能經過$object->username輸出 【注意】

這裏寫圖片描述
掌握了上面四個函數也就能夠遍歷輸出集了

while(!!$row = $data->fetch_assoc()){
    echo "$row['usernaem']";
}
//其餘的同樣

4:.肯定所選擇的行和受影響的行
//當使用查詢時,想了解SELECT查詢了多少行,可使用num_rows。

echo $_reslut->num_rows;

//當使用查詢時,想了解SELECT、INSERT、UPDATE、DELETE查詢時影響的行
數,可使用affected_rows;注意,它是$_mysqli下的屬性

echo $_mysqli->affected_rows;

特別注意的一點是:二者針對的對象不同,num_rows針對的結果集,而affected針對的是mysqli對象

5 : 移動指針的操做和獲取字段

$result->field_count();統計多少個字段
    $result->fetch_field();獲取第一列的字段名字,若是再次調用該方法的話,指針下移動, 
    會取出第二列的字段名稱,使用print_r()打印看看是一個一維數組,指明瞭使用那張表之類的詳細信息, 
    輸出字段的話能夠用$result->fetch_field()->name;指向name屬性
    $result->fetch_fields():獲取全部的字段,二維數組輸出

    指針移動:$_result->data_seek(int);//數據集合的指針移動
            $_result->field_seek(int)//字段的指針移動

6: //銷燬結果集
$_result->free();
但願對初學者有幫助!!謝謝

下一篇會介紹:多條數據庫的操做以及回滾函數?若是沒有接觸過事務處理的能夠看看~~~~

相關文章
相關標籤/搜索