sql >> Database >  >> RDS >> Mysql

mysqli:kan het meerdere queries in één statement voorbereiden?

Een voorbereide instructie kan slechts één MySQL-query uitvoeren. U kunt zoveel uitspraken voorbereiden als u wilt in verschillende variabelen:

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

En voer ze later uit. Als je er zeker van wilt zijn dat geen van beide ooit wordt uitgevoerd, tenzij beide kunnen worden uitgevoerd, moet je naar transacties kijken, zoals Thomas zei.

Ook een algemene tip:"call to member function on a non-object" is de standaardfout die je krijgt als prepare() mislukt en dus $stmt is eigenlijk geen voorbereid instructieobject. Het betekent meestal dat je moet zoeken naar een fout in je prepare() verklaring in plaats van iets later.



  1. Tekens invoegen in het midden van een string in SQL Server (T-SQL)

  2. Volgnummers maken in PostgreSQL

  3. SQLite - Gegevens exporteren naar een CSV-bestand

  4. Omzet berekenen in MySQL