首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 5 全新 MySQLi 擴充套件:功能與用法詳解

     編輯:PHP 相關知識

什麼是 MySQLi?

mysqli 代表 MySQL Improved,為 PHP 5 新增的擴充套件,支援 MySQL 4.1+ 新特性。主要目標:

  • 更簡單的維護
  • 更好的相容性
  • 向後相容舊 mysql 模組
  • 支援預備陳述式、交易、多重查詢等新功能

兩種呼叫風格

1. 程序式(與舊 mysql 相容)

$link = mysqli_connect('localhost', 'user', 'password', 'world');
if (!$link) die('Connect Error: ' . mysqli_connect_error());

if ($result = mysqli_query($link, 'SELECT Name, Population FROM City ORDER BY Population DESC LIMIT 5')) {
    while ($row = mysqli_fetch_assoc($result)) {
        printf("%s (%s)\n", $row['Name'], $row['Population']);
    }
    mysqli_free_result($result);
}
mysqli_close($link);

2. 物件導向風格(推薦)

$mysqli = new mysqli('localhost', 'user', 'password', 'world');
if (mysqli_connect_errno()) die('Connect Error: ' . mysqli_connect_error());

if ($result = $mysqli->query('SELECT Name, Population FROM City ORDER BY Population DESC LIMIT 5')) {
    while ($row = $result->fetch_assoc()) {
        printf("%s (%s)\n", $row['Name'], $row['Population']);
    }
    $result->close();
}
$mysqli->close();

進階新特性

  • Bound Parameters / Results:預備陳述式綁定參數與結果,防止 SQL 注入
  • mysqli_init():進階連線選項設定
  • 多重查詢:multi_query() 一次執行多條 SQL
  • 交易控制:autocommit()、commit()、rollback()

完整文件請參考 Zend 官方文章。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved