首頁  >  文章  >  資料庫  >  我可以在單一 MySQLi 語句中準備多個查詢嗎?

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

Linda Hamilton
Linda Hamilton原創
2024-11-02 08:55:29890瀏覽

Can I Prepare Multiple Queries in a Single MySQLi Statement?

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

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

執行多個查詢的替代方法

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

<code class="php">$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();</code>

處理錯誤

錯誤「呼叫非物件上的成員函數」通常是當prepare()失敗時遇到。這通常是由於準備好的語句本身有錯誤,而不是後續程式碼中的錯誤。

事務支援

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

以上是我可以在單一 MySQLi 語句中準備多個查詢嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn