PHP mysqli是一種能夠連接到MySQL數據庫并執行SQL語句的PHP擴展,相較于早期使用的mysql擴展,mysqli能夠提供更好的性能和安全性。下面,我們將介紹如何使用mysqli進行數據庫操作。
連接數據庫
連接數據庫是使用mysqli的第一步。使用mysqli_connect函數可以連接MySQL數據庫。該函數接受4個參數,分別是MySQL服務器的主機地址、用戶名、密碼、和數據庫名。下面的示例代碼演示如何連接一個名為test的MySQL數據庫:
$conn = mysqli_connect('localhost', 'username', 'password', 'test'); if(!$conn) { die('連接數據庫失敗:'. mysqli_connect_error()); }以上代碼中,如果連接失敗,則用die()函數輸出錯誤信息。 執行SQL語句 連接上數據庫之后,我們可以執行任意SQL語句,包括SELECT、INSERT、UPDATE、DELETE等。使用mysqli_query函數可以執行SQL語句,該函數接受2個參數,分別是連接對象和SQL語句。下面的示例代碼演示如何執行一條INSERT語句:
$sql = "INSERT INTO `user`(`name`,`age`) VALUES ('John', '25')"; $result = mysqli_query($conn, $sql); if($result) { echo "插入成功"; } else { echo "插入失敗:". mysqli_error($conn); }以上代碼中,我們先定義一條INSERT語句,然后使用mysqli_query函數執行該語句。如果執行成功,將輸出"插入成功",否則將輸出錯誤信息。 查詢數據庫 查詢數據庫是我們經常使用mysqli進行的操作。使用mysqli_query函數執行查詢操作,如果查詢成功,將返回一個結果集對象。使用mysqli_fetch_assoc函數可以將結果集對象轉換為關聯數組,數組中的鍵名是字段名,鍵值是字段對應的值。下面的示例代碼演示如何查詢一個名為user的數據表中的所有記錄:
$sql = "SELECT * FROM `user`"; $result = mysqli_query($conn, $sql); if(mysqli_num_rows($result) >0) { while($row = mysqli_fetch_assoc($result)) { echo "ID: ". $row['id']. ", 名稱: ". $row['name']. ", 年齡: ". $row['age']. "以上代碼中,我們定義了一個SELECT語句,使用mysqli_query函數執行該語句。如果查詢結果不為空,使用while循環遍歷所有結果集中的記錄,然后輸出記錄的字段值。 更新數據庫 更新數據庫通常使用UPDATE語句。使用mysqli_query函數執行UPDATE語句,如果執行成功,將返回true。下面的示例代碼演示如何更新名為user的數據表中的一條記錄:
"; } } else { echo "查詢結果為空"; }
$sql = "UPDATE `user` SET `age` = '30' WHERE `name` = 'John'"; $result = mysqli_query($conn, $sql); if($result) { echo "更新成功"; } else { echo "更新失敗:". mysqli_error($conn); }以上代碼中,我們定義了一條UPDATE語句,使用mysqli_query函數執行該語句。如果執行成功,將輸出"更新成功",否則將輸出錯誤信息。 刪除記錄 刪除記錄通常使用DELETE語句。使用mysqli_query函數執行DELETE語句,如果執行成功,將返回true。下面的示例代碼演示如何刪除名為user的數據表中的一條記錄:
$sql = "DELETE FROM `user` WHERE `name` = 'John'"; $result = mysqli_query($conn, $sql); if($result) { echo "刪除成功"; } else { echo "刪除失敗:". mysqli_error($conn); }以上代碼中,我們定義了一條DELETE語句,使用mysqli_query函數執行該語句。如果執行成功,將輸出"刪除成功",否則將輸出錯誤信息。 總結 通過以上示例,我們可以看出mysqli是一種非常強大而且易于使用的PHP擴展,可以實現各種數據庫操作。當然,我們在使用mysqli進行數據庫操作時,也需要注意安全性,比如對用戶輸入進行過濾和驗證,使用預處理語句等。希望這篇文章能對你掌握mysqli的用法有所幫助。