在單一 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