使用 MySQLi 高效、安全地插入多行
將大量行插入 MySQL 資料庫需要效率和安全性。使用簡單的方法(如提供的 PHP 程式碼所示)可能會導致效能問題和 SQL 注入漏洞。
為了解決這些問題,更佳的解決方案是在事務中執行插入並移動語句循環外的準備和綁定:
$array = array("array", "with", "about", "2000", "values"); $query = "INSERT INTO table (link) VALUES (?)"; $stmt = $mysqli->prepare($query); $stmt->bind_param("s", $one); $mysqli->query("START TRANSACTION"); foreach ($array as $one) { $stmt->execute(); } $stmt->close(); $mysqli->query("COMMIT");
該技術已經過測試並顯示可以顯著提高性能。具體來說,使用原始方法插入 10,000 筆記錄需要 226 秒,而最佳化後的方法只需 2 秒即可完成任務。這意味著效率提高了兩個數量級。
透過利用事務,您可以一次插入多行,同時保持資料完整性並確保防止 SQL 注入。這種方法提供了速度和安全性,使其成為高效地將大量資料插入 MySQL 資料庫的首選方法。
以上是如何有效率、安全地將多行插入MySQL資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!