PHP Mysqli函數是一組用于處理MySQL數據庫的函數,它可以用于連接MySQL服務器,執行查詢和更新操作以及獲取查詢結果。Mysqli是PHP的擴展模塊,提供了比舊版Mysql函數更豐富的功能和更高的性能。
Mysqli的連接函數非常簡單,只需要指定服務器地址、用戶名、密碼和數據庫名即可連接到MySQL服務器,例如:
<?php $link = mysqli_connect('localhost', 'root', 'password', 'mydb'); if (!$link) { die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); } echo 'Connection OK'; mysqli_close($link); ?>以上代碼連接到名為mydb的數據庫,并輸出連接成功信息。 Mysqli的查詢函數也非常靈活,可以執行SELECT、INSERT、UPDATE、DELETE等操作,并返回查詢結果。例如,執行一條查詢操作:
<?php $link = mysqli_connect('localhost', 'root', 'password', 'mydb'); if (!$link) { die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); } $query = "SELECT * FROM users"; $result = mysqli_query($link, $query); if (!$result) { die("Query Failed: " . mysqli_error($link)); } while ($row = mysqli_fetch_assoc($result)) { echo $row['name'] . " - " . $row['email'] . "<br>"; } mysqli_free_result($result); mysqli_close($link); ?>以上代碼查詢名為users的表中的所有數據,并輸出每條記錄的姓名和電子郵件地址。 Mysqli的更新函數也非常靈活,并支持帶參數的預處理語句,可以避免SQL注入攻擊。例如,執行一條INSERT語句:
<?php $link = mysqli_connect('localhost', 'root', 'password', 'mydb'); if (!$link) { die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); } $stmt = mysqli_prepare($link, "INSERT INTO users (name, email) VALUES (?, ?)"); mysqli_stmt_bind_param($stmt, 'ss', $name, $email); $name = 'John Doe'; $email = 'john.doe@example.com'; mysqli_stmt_execute($stmt); if (mysqli_stmt_affected_rows($stmt) >0) { echo "Record inserted successfully"; } else { echo "Insert failed"; } mysqli_stmt_close($stmt); mysqli_close($link); ?>以上代碼向名為users的表中插入一條記錄,使用了帶參數的預處理語句,確保了數據的安全性。 在使用Mysqli函數時,需要注意以下幾點: 1. 在使用Mysqli查詢函數時,應該先使用mysqli_free_result函數釋放查詢結果所占用的內存空間,然后再使用mysqli_close函數關閉數據庫連接; 2. 在使用帶參數的預處理語句時,必須先使用mysqli_prepare函數創建預處理語句,然后再使用mysqli_stmt_bind_param函數綁定參數,并執行mysqli_stmt_execute函數; 3. 在使用Mysqli函數時,應該盡量避免將敏感信息保存在代碼中,可以將用戶名和密碼等敏感信息保存在配置文件中,并使用include函數引入。 Mysqli函數是一個功能強大、易于使用的PHP擴展模塊,它可以大大簡化和加強PHP操作MySQL數據庫的過程。通過熟練掌握Mysqli函數,我們可以輕松地實現常見的數據庫操作,并保證數據的安全性和性能。