mysqli 具有多個查詢的查詢準備
mysqli 的預準備語句功能不支援多查詢準備。 mysqli 中的準備語句僅限於執行單一 MySQL 查詢。
替代方法:
如果需要順序執行多個查詢,可以建立單獨的準備好的語句每個查詢的語句:
$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()語句是否有任何錯誤。
以上是MySQLi 準備好的語句可以處理多個查詢嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!