Připravený příkaz může provést pouze jeden dotaz MySQL. V různých proměnných si můžete připravit tolik příkazů, kolik chcete:
$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)");
$stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");
A pak je provést později. Pokud chcete zajistit, že ani jeden nebude nikdy spuštěn, pokud nebudou schopny spustit oba, musíte se podívat na transakce, jak řekl Thomas.
Také obecný tip:"volání členské funkce na jiném než objektu" je standardní chyba, kterou dostanete, když prepare() selže a tak $stmt není ve skutečnosti připravený objekt příkazu. Obvykle to znamená, že musíte hledat chybu v prepare() spíše prohlášení než cokoli později.