MySQL是目前最流行的開源關系型數據庫系統,而mysqli則是MySQL的一個擴展庫,傳統的mysql擴展庫已經不再維護,mysqli成為了PHP連接MySQL最常用的擴展庫。mysqli完全支持MySQL的所有功能,包括事務、存儲過程、觸發器等。
//使用mysqli連接MySQL數據庫 $conn = new mysqli('localhost', 'username', 'password', 'database'); //執行SQL語句 $sql = "SELECT * FROM `users`"; $result = $conn->query($sql); //輸出查詢結果 while($row = $result->fetch_assoc()) { echo $row['id'].' '.$row['name'].' '.$row['age']; }
與mysql擴展庫相比,mysqli有許多優勢。首先,mysqli在支持MySQL的同時,還支持SQLite、MariaDB等數據庫,相比之下mysql擴展不是很好用。其次,mysqli支持面向對象和面向過程兩種編程方式,代碼更為靈活。最后,mysqli支持預處理語法,可以有效防止SQL注入攻擊。
//使用mysqli進行預處理語法 $stmt = $conn->prepare("INSERT INTO `users` (`name`, `age`) VALUES (?, ?)"); $stmt->bind_param("si", $name, $age); $name = "John"; $age = 20; $stmt->execute(); $name = "Mary"; $age = 25; $stmt->execute(); $stmt->close();
總的來說,mysqli是連接MySQL數據庫的首選擴展庫,它簡單易用,支持完整的MySQL功能,同時又兼容其他數據庫,能夠滿足不同業務場景的需求。