在MySQL預處理語句(Prepared Statements)中,FOREACH 不是一個內置的關鍵字或功能。但是,你可以使用預處理語句和循環結構(例如:在應用程序代碼中的 foreach 循環)來實現類似的效果。
以下是一個使用 PHP 和 MySQLi 擴展的示例,展示了如何在預處理語句中使用循環結構:
// 連接到數據庫
$mysqli = new mysqli("localhost", "username", "password", "database");
if ($mysqli->connect_error) {
die("連接失敗: " . $mysqli->connect_error);
}
// 準備預處理語句
$stmt = $mysqli->prepare("INSERT INTO table_name (column1, column2) VALUES (?, ?)");
if (!$stmt) {
die("預處理失敗: " . $mysqli->error);
}
// 綁定參數
$stmt->bind_param("ss", $value1, $value2);
// 數據數組
$data = [
["value1_1", "value2_1"],
["value1_2", "value2_2"],
["value1_3", "value2_3"]
];
// 使用 foreach 循環執行預處理語句
foreach ($data as $row) {
$value1 = $row[0];
$value2 = $row[1];
$stmt->execute();
}
// 關閉資源
$stmt->close();
$mysqli->close();
在這個示例中,我們首先創建了一個預處理語句,用于將數據插入到數據庫表中。然后,我們使用 foreach 循環遍歷一個包含多行數據的數組,并在每次迭代時執行預處理語句。這樣,我們可以在預處理語句中實現類似 FOREACH 的功能。