Preparación de consultas mysqli con múltiples consultas
La función de declaración preparada de mysqli no admite la preparación de consultas múltiples. Una declaración preparada en mysqli se limita a ejecutar una única consulta MySQL.
Enfoque alternativo:
Si necesita ejecutar varias consultas en secuencia, puede crear consultas preparadas por separado. declaraciones 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 (?,?)");
Enfoque basado en transacciones:
Alternativamente, puede utilizar transacciones para asegurarse de que ambas consultas se ejecuten o ninguna de ellas. ejecutado:
$sql->begin_transaction(); // Execute both queries if (!$stmtUser->execute() || !$stmtProc->execute()) { $sql->rollback(); } else { $sql->commit(); }
Depuración de errores:
Si encuentra un error de "llamada a una función miembro en un objeto que no es un objeto", indica que falló la preparación de la declaración. Revise cuidadosamente su declaración prepare() para detectar errores.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3