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

MySQLi 準備好的語句可以處理多個查詢嗎?

發佈於2024-12-15
瀏覽:918

Can MySQLi Prepared Statements Handle Multiple Queries?

mysqli 具有多個查詢的查詢準備

mysqli 的準備好的語句功能不支援多查詢準備。 mysqli中的prepared語句僅限於執行單一MySQL查詢。

替代方法:

如果需要順序執行多個查詢,可以建立單獨的prepared語句每個查詢的語句:

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

基於交易的方法:

或者,您可以使用事務來確保兩個查詢要么都執行,要么都不執行執行:

$sql->begin_transaction();

// Execute both queries

if (!$stmtUser->execute() || !$stmtProc->execute()) {
    $sql->rollback();
} else {
    $sql->commit();
}

錯誤調試:

如果遇到“call to member function on a non-object”錯誤,則表示語句的準備失敗。仔細檢查你的prepare()語句是否有任何錯誤。

最新教學 更多>

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

Copyright© 2022 湘ICP备2022001581号-3