」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 我可以在單一 MySQLi 語句中準備多個查詢嗎?

我可以在單一 MySQLi 語句中準備多個查詢嗎?

發佈於2024-11-08
瀏覽:312

Can I Prepare Multiple Queries in a Single MySQLi Statement?

在單一 MySQLi 語句中準備多個查詢

不可能在單一 MySQLi 語句中準備多個查詢。每個 mysqli_prepare() 呼叫只能準備一個查詢。

執行多個查詢的替代方法

如果您需要一次執行多個查詢,您可以建立並為每個查詢執行單獨的mysqli_prepare() 語句。

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

$stmtUser->bind_param("ssss", $id, $username, $pw, $email);
$stmtProc->bind_param("ss", $id, $idp);

$stmtUser->execute();
$stmtProc->execute();

$stmtUser->close();
$stmtProc->close();

處理錯誤

當prepare()失敗時,通常會遇到「Call to a member function on a non-object ”錯誤。這通常是由於準備好的語句本身有錯誤,而不是後續程式碼中的錯誤。

事務支援

如果您想確保多個查詢一起執行或完全不,MySQLi 支援事務。您可以使用 mysqli_begin_transaction() 和 mysqli_commit() 函數來控制交易邊界。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3