首頁 >資料庫 >mysql教程 >如何使用單一 PDO 查詢將多行插入 MySQL 資料庫?

如何使用單一 PDO 查詢將多行插入 MySQL 資料庫?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-07 02:59:03673瀏覽

How to Insert Multiple Rows into a MySQL Database with a Single PDO Query?

PDO MySQL:使用BindValues 在單一查詢中插入多行

要使用PHP 資料物件(PDO) 在一個查詢中將多行插入MySQL 資料庫,請考慮以下步驟:

1.準備查詢:
使用佔位符為要插入的值建立可自訂的查詢字串。例如:

$query = "INSERT INTO $table (key1, key2, key3) VALUES (?, ?, ?)";

2。將值綁定到佔位符:
使用準備好的語句的bindValue() 方法將資料數組中的值綁定到查詢中的佔位符。

$i = 1;
foreach ($data as $item) {
    $stmt->bindValue($i++, $item['key1']);
    $stmt->bindValue($i++, $item['key2']);
    $stmt->bindValue($i++, $item['key3']);
}

3.執行查詢:
最後,執行準備好的語句,這會將所有綁定值插入資料庫。

$stmt->execute();

範例:
這是一個如何在程式碼中實現此技術的範例:

$pdo = new PDO('mysql:host=localhost;dbname=database_name', 'username', 'password');

$query = "INSERT INTO table_name (column1, column2) VALUES (?, ?), (?, ?), (?, ?)";

$data = [
    ['value1', 'value2'],
    ['value3', 'value4'],
    ['value5', 'value6'],
];

$stmt = $pdo->prepare($query);

$i = 1;
foreach ($data as $item) {
    $stmt->bindValue($i++, $item[0]);
    $stmt->bindValue($i++, $item[1]);
}

$stmt->execute();

透過利用此方法,您可以透過單一查詢有效率地將多行插入MySQL 資料庫,避免原始程式碼的限制。

以上是如何使用單一 PDO 查詢將多行插入 MySQL 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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