Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

mysqli:pode preparar várias consultas em uma instrução?


Uma instrução preparada pode executar apenas uma consulta MySQL. Você pode preparar quantas declarações quiser em diferentes variáveis:
$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)");
$stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");

E, em seguida, executá-los mais tarde. Se você quiser garantir que nenhum deles seja executado, a menos que ambos possam ser executados, você precisa analisar as transações, como disse Thomas.

Além disso, uma dica geral:"call to member function on a non-object" é o erro padrão que você obtém quando prepare() falha e então $stmt não é realmente um objeto de instrução preparado. Geralmente significa que você precisa procurar um erro em seu prepare() declaração em vez de qualquer coisa mais tarde.