多個mysqli 查詢:同時執行INSERT 語句
原始問題:
嘗試執行🎜>原始問題:
嘗試執行🎜>嘗試執行🎜>連續使用mysqli_query() 的兩個INSERT語句會導致第二次查詢失敗。此問題源自於 MySQL 的安全措施,該措施防止在單一呼叫中執行多個查詢。
解決方案:mysqli_multi_query()
$query = "INSERT INTO images (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName');"; $query .= "INSERT INTO images_history (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name, day, month, year) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName', '$day', '$month', '$year');"; $result = mysqli_multi_query($mysqli, $query);
在單一呼叫中執行多個查詢呼叫時,需要使用 mysqli_multi_query() function:
處理查詢結果
while (mysqli_more_results($mysqli) && mysqli_next_result($mysqli)) { if (($result = mysqli_store_result($mysqli)) === false && mysqli_error($mysqli) != '') { echo "Query failed: " . mysqli_error($mysqli); } }
執行 mysqli_multi_query() 傳回一個布林值。然而,使用mysqli_store_result() 手動檢索每個查詢的結果並使用mysqli_more_results() 和mysqli_next_result() 循環遍歷它們是至關重要的:
其他注意事項
以上是如何使用mysqli在MySQL中同時執行多個INSERT語句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!