首頁 > 後端開發 > php教程 > MySQLi 準備好的語句可以處理多個查詢嗎?

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

Patricia Arquette
發布: 2024-11-25 06:07:12
原創
905 人瀏覽過

Can MySQLi Prepared Statements Handle Multiple Queries?

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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板