sql >> Databáze >  >> RDS >> Mysql

mysqli:může připravit více dotazů v jednom příkazu?

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.



  1. Načtení všech oprávnění k objektu pro konkrétní roli

  2. Vraťte seznam událostí spouštění serveru na serveru SQL Server

  3. SYSDATETIMEOFFSET() Příklady v SQL Server (T-SQL)

  4. Jak vypustit sloupec v SQL?