在单个 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中文网其他相关文章!