sql >> Database teknologi >  >> RDS >> Mysql

mysqli:kan det forberede flere forespørgsler i en erklæring?

En forberedt sætning kan kun udføre én MySQL-forespørgsel. Du kan forberede så mange udsagn, du vil, i forskellige variable:

$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)");
$stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");

Og så udføre dem senere. Hvis du vil sikre, at ingen af ​​dem nogensinde køres, medmindre begge er i stand til at køre, så skal du undersøge transaktioner, som Thomas sagde.

Også et generelt tip:"kald til medlemsfunktion på et ikke-objekt" er standardfejlen, du får, når prepare() fejler og så $stmt er faktisk ikke et forberedt erklæringsobjekt. Det betyder normalt, at du skal lede efter en fejl i din prepare() erklæring snarere end noget senere.



  1. PIVOT-forespørgsel på distinkte poster

  2. Sådan indsætter og sletter du data i PostgreSQL

  3. Sådan fungerer LOAD_FILE() i MariaDB

  4. Fejlfinding af SQL Server-transaktionelle replikeringsproblemer