1. 程式人生 > >談談關於PHP連線資料庫的兩種方法(PDO&Mysqli)

談談關於PHP連線資料庫的兩種方法(PDO&Mysqli)

 

 

 

前言:在我們之前學習sql語句的時候都是停留在黑視窗的,怎樣才能讓mysql與程式程式碼發生聯絡呢?此時PDO和Mysqli應運而生,為了解決這個問題

(一)開啟其中(pdo或者mysqli)的php擴充套件

 

我使用的是phpStudy因此開啟擴充套件比較方便(注意需要重啟),此時寫一段程式輸出phpinfo() 你可以檢視是否安裝成功

看到這兩個就是表示成功了!

(二)連線資料庫

mysqli連線資料庫的方法:

  $dsn = mysqli_connect(資料庫ip地址,  帳號,  密碼,  預設選擇的資料庫)

  mysqli_set_charset(mysqli連線,  字符集編碼)

  這兩步最好同時進行,此時已經完成了連線如果你連線失敗你可以用mysqli_connect_error($con)這個函式會丟擲錯誤的具體的資訊

pdo連線資料庫的方法(操作):

  // 資料庫型別:host=IP地址;port=埠號;charset=字符集;dbname=資料庫名

  $dsn = 'mysql:host=localhost;port=3306;charset=utf8;dbname=test';
  $pdo = new PDO($dsn, 'root', '123abc');

(三)操作資料庫的增刪改查

mysqli操作資料庫的增刪改:

  //$sql = sql語句;

  mysqli_query(mysqli連線(上面的$dsn),  sql語句);//操作成功會返回對應的布林值

   查操作:

    $dsn = mysqli_query(mysqli連線,  sql語句)

    mysqli_fetch_assoc($dsn)[1.每次獲取一條資料2.以欄位名下標的關聯陣列]

    mysqli_fetch_row($dsn)[1.每次獲取一條資料2.獲取的是索引下標的陣列]

    mysqli_fetch_all(結果集[, 陣列形態]) 陣列形態可指定MYSQLI_ASSOC、MYSQLI_NUM(預設值)或MYSQLI_BOTH [1獲取的是多條資料,2可以指定的型別]

pdo操作資料庫的增刪改:

  $sql = 'insert into cz_user values (null, "袁崇煥", "abcdefg", "[email protected]")';

  $re = $pdo->exec($sql);//操作成功會返回對應的布林值

  查操作:

    $dsn = $pdo->query(SQL語句) 執行查詢操作SQL語句

    fetch(解析型別[ ,PDO::FETCH_ASSOC][,PDO::FETCH_NUM][,PDO::FETCH_BOTH]) 一次解析一行資料()

 

    fetchAll(解析型別[ ,PDO::FETCH_ASSOC][,PDO::FETCH_NUM][,PDO::FETCH_BOTH]) 一次性解析所有資料

 

以上是能夠滿足日常的增刪改查的簡單如果還需要別的操作這兩個擴充套件也是提供了很豐富的方法從手冊檢視吧.