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