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

mysqli:può preparare più query in un'unica istruzione?

Un'istruzione preparata può eseguire solo una query MySQL. Puoi preparare tutte le istruzioni che vuoi in diverse variabili:

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

E poi eseguili più tardi. Se vuoi assicurarti che nessuno dei due venga mai eseguito a meno che entrambi non siano in grado di funzionare, allora devi esaminare le transazioni, come ha detto Thomas.

Inoltre, un suggerimento generale:"chiama alla funzione membro su un non oggetto" è l'errore standard che ricevi quando prepare() fallisce e quindi $stmt non è in realtà un oggetto istruzione preparato. Di solito significa che devi cercare un errore nel tuo prepare() dichiarazione piuttosto che qualsiasi altra cosa successiva.