sql >> Databáze >  >> RDS >> PostgreSQL

Pro pochopení dotazů v PHP PG -připravené příkazy

Váš zveřejněný příklad nedává smysl - pg_prepare() a pg_query_params() jsou nezávislé funkce s různými účely, které byste normálně ve spojení nepoužívali.

pg_prepare() připraví příkaz (dotaz) pro pozdější provedení pomocí pg_execute() . To se provádí jako potenciální optimalizace - pokud předem víte, že budete muset příkaz provést mnohokrát za sebou, může jeho příprava předem ušetřit práci na databázovém serveru, protože se nemusí (znovu) připravovat výpis pro každé volání.

pg_query_params() (stejně jako jeho „jednodušší“ verze pg_query() ) pouze provede příkaz (dotaz) přímo a přinutí databázový server, aby (znovu) připravil příkaz pokaždé, když je funkce volána.

Takže ve zkratce toto

$result = pg_query_params($query, $params);

vám poskytne přesně stejný výsledek jako tento

$statement = pg_prepare($query);
$result = pg_execute($statement, $params);

Jediný rozdíl je v tom, že ve druhém případě máte stále připravený příkaz, připravený k opětovnému použití pro další volání pg_execute() - proto jej můžete pojmenovat, protože tak můžete mít různé připravené příkazy na stejném připojení, které můžete provádět, jak chcete, mnohokrát v libovolném pořadí.




  1. Jak najít záznamy s rekurzivně se překrývajícími rozsahy dat v Oracle DB

  2. Složitost NULL – Část 4, Chybějící standardní jedinečné omezení

  3. Transformace z řádků na sloupec z různých tabulek a různých čísel řádků (sjednocení) v MySQL verze 8.0.17 pomocí Pivot

  4. Vytvořte databázi SQL Server pomocí SQLOPS