首頁 >後端開發 >php教程 >如何使用 PHP 有效率且安全地將多行插入 MySQLi 中?

如何使用 PHP 有效率且安全地將多行插入 MySQLi 中?

Linda Hamilton
Linda Hamilton原創
2024-12-13 18:08:11730瀏覽

How Can I Efficiently and Securely Insert Many Rows into MySQLi Using PHP?

MySQLi 中高效、安全的多行插入

在PHP 開發中,高效、安全地向MySQL 資料庫插入大量行可以是一個簡單的方法。挑戰。為了解決這個問題,必須採用防止 SQL 注入的技術,同時保持效能。

一個常見的方法是使用帶有參數綁定的準備好的語句。但是,在需要插入大量行(例如 2000 行)的情況下,這種方法可能會很慢。

更有效的解決方案是利用資料庫事務。事務允許您將多個操作組合在一起並將它們作為單個原子單元執行。透過啟動事務,您可以使用單一準備好的語句插入多行,從而減少與執行單獨插入相關的開銷。

為了說明這一點,這裡有一個最佳化的程式碼片段:

$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 次迭代的測試中,基於事務的插入僅花費了 2 秒,而原始方法則花費了 226 秒。這是兩個數量級的巨大速度提升。

透過利用交易和預先準備語句,您可以在 PHP 中有效率且安全地將多行插入 MySQL 資料庫中,從而確保資料完整性和效能最佳化。

以上是如何使用 PHP 有效率且安全地將多行插入 MySQLi 中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn