首頁  >  文章  >  後端開發  >  單一 MySQL 預先準備語句可以執行多個查詢嗎?

單一 MySQL 預先準備語句可以執行多個查詢嗎?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-25 18:24:10879瀏覽

Can a Single MySQL Prepared Statement Execute Multiple Queries?

是否可以在一條語句中準備多個 MySQL 查詢?

查詢:

在 MySQL 中,可以準備好的語句同時執行多個查詢?例如:

mysqli->prepare(query1 ...1,2,3 param...; query2...4,5 param...);

或:

mysqli->prepare(insert into ...1,2,3 param...; insert into...4,5 param...);

後跟:

mysqli->bind_param("sssss", 1, 2, 3, 4, 5);

答案:

不可以, MySQL 中的預先準備語句只能執行單一查詢。可以在單獨的變數中建立多個準備好的語句:

$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)");
$stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");

這些語句可以稍後執行。

要確保兩個查詢都成功執行,請考慮使用資料庫事務,如建議的那樣Thomas。

提示:

如果遇到錯誤“call to member function on嘗試綁定參數時的“非對象”,它可能表示在prepare()語句本身中存在錯誤。

以上是單一 MySQL 預先準備語句可以執行多個查詢嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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