Preparando múltiplas consultas em uma única instrução MySQLi
Não é possível preparar múltiplas consultas em uma única instrução MySQLi. Cada chamada mysqli_prepare() pode preparar apenas uma única consulta.
Abordagem alternativa para executar múltiplas consultas
Se você precisar executar múltiplas consultas de uma só vez, você pode criar e execute instruções mysqli_prepare() separadas para cada consulta.
$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();
Tratamento de erros
O erro "Chamar para uma função membro em um não-objeto" normalmente é encontrado quando prepare() falha . Isso geralmente ocorre devido a um erro na própria instrução preparada, não no código subsequente.
Suporte a transações
Se você deseja garantir que várias consultas sejam executadas juntas ou de forma alguma, o MySQLi suporta transações. Você pode usar as funções mysqli_begin_transaction() e mysqli_commit() para controlar os limites da transação.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3