與 PHP 資料庫互動的最佳實踐:使用準備語句以防止 SQL 注入攻擊並提高效能。使用事務以確保一組操作要么全部成功,要么全部失敗。處理錯誤以檢查錯誤並採取適當措施。釋放資源以釋放與結果和語句相關聯的資源。
PHP 函數與資料庫互動的最佳實踐
在 PHP 中與資料庫互動是一項常見的任務。為了確保效能、安全性和可維護性,遵循一些最佳實踐至關重要。
1. 使用準備語句
準備語句可以防止 SQL 注入攻擊並提高效能。它們透過在查詢執行前將參數綁定到 SQL 語句來運作。
// 准备语句 $stmt = $mysqli->prepare("SELECT * FROM users WHERE name = ?"); // 绑定参数 $stmt->bind_param("s", $name); // 执行语句 $stmt->execute();
2. 使用事務
事務確保一組操作要麼全部成功,要麼全部失敗。它們在需要確保資料一致性時很有用。
// 开始事务 $mysqli->begin_transaction(); // 执行操作 $mysqli->query("INSERT INTO orders (product_id, quantity) VALUES (100, 5)"); $mysqli->query("UPDATE products SET stock = stock - 5 WHERE id = 100"); // 提交事务或回滚 if ($mysqli->error) { $mysqli->rollback(); } else { $mysqli->commit(); }
3. 處理錯誤
PHP 提供了多種函數來處理 MySQL 錯誤。始終檢查錯誤並根據需要採取適當的措施。
if ($mysqli->error) { echo "Error: " . $mysqli->error; }
4. 釋放資源
查詢完成後,釋放與結果和語句相關聯的資源非常重要。
// 释放查询结果 $result->close(); // 释放语句 $stmt->close();
實戰案例:取得使用者資料
// 准备语句 $stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?"); // 绑定参数 $stmt->bind_param("i", $id); // 执行语句 $stmt->execute(); // 获取结果 $result = $stmt->get_result(); // 迭代结果 while ($row = $result->fetch_assoc()) { echo $row['name'] . "<br>"; } // 释放资源 $result->close(); $stmt->close();
遵循這些最佳實踐可以幫助你編寫健全、安全且可維護的 PHP 程式碼,以與資料庫互動。
以上是PHP 函數與資料庫互動的最佳實務有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!