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í.