MySQLi 和PDO 是PHP 中連接MySQL 資料庫的兩種擴充:功能:MySQLi:物件導向和過程式API,僅支援MySQLPDO:抽象資料庫接口,支援多個資料庫錯誤處理:MySQLi:傳回錯誤代碼PDO:拋出異常預處理語句:MySQLi:支援PDO:支援效能:MySQLi:一般更快PDO:對於需要與多個資料庫互動的應用程式更佳
MySQLi 與PDO:PHP 中的MySQL 存取
在PHP 中,MySQLi 和PDO 是連接和操作MySQL 資料庫的兩個常用擴充。它們都提供了對 MySQL 的訪問,但各有優缺點。
MySQLi
MySQLi 是 MySQL 的改進接口,提供了物件導向和過程式的 API。它比舊的 mysql_* 函數更快速、更穩定。
PDO (PHP 資料物件)
PDO 是一個抽象資料庫接口,支援廣泛的資料庫,包括 MySQL、PostgreSQL、Oracle 和 SQL Server。它提供了一致的 API 來存取不同資料庫。
區別
特徵 | MySQLi | ##PDO|
---|---|---|
是 | 是 | |
異常 | 異常 | |
支援 | #支援 | |
僅MySQL | 多個資料庫 | |
#比較快 | ||
相容性PHP 5.0 以上
PHP 5.1 以上
實戰案例
########################################################################################################## #######使用MySQLi 連線到MySQL 資料庫:######// 创建 MySQLi 连接 $mysqli = new mysqli("localhost", "username", "password", "database"); // 检查连接错误 if ($mysqli->connect_error) { die("连接失败: " . $mysqli->connect_error); } // 执行查询 $result = $mysqli->query("SELECT * FROM table"); // 循环查询结果 while ($row = $result->fetch_assoc()) { echo $row['column']; } // 关闭连接 $mysqli->close();
// 创建 PDO 连接 $dsn = 'mysql:host=localhost;dbname=database'; $user = 'username'; $password = 'password'; try { $pdo = new PDO($dsn, $user, $password); } catch (PDOException $e) { die("连接失败: " . $e->getMessage()); } // 预处理查询 $stmt = $pdo->prepare("SELECT * FROM table"); // 执行查询 $stmt->execute(); // 循环查询结果 while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo $row['column']; } // 关闭连接 $pdo = null;
以上是PHP 中的 MySQLi 和 PDO 的差別是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!