Подготвен израз може да изпълни само една MySQL заявка. Можете да подготвите толкова изрази, колкото искате в различни променливи:
$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)");
$stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");
И след това ги изпълни по-късно. Ако искате да сте сигурни, че нито едно от тях не се изпълнява, освен ако и двете не са в състояние да работят, тогава трябва да разгледате транзакциите, както каза Томас.
Също така, общ съвет:"извикване на функция за член на необект" е стандартната грешка, която получавате, когато prepare()
не успява и така $stmt
всъщност не е подготвен обект на изявление. Обикновено това означава, че трябва да потърсите грешка във вашия prepare()
изявление, а не нещо по-късно.