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.