在单个 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