Вашият публикуван пример няма смисъл - pg_prepare()
и pg_query_params()
са независими функции с различни цели, които обикновено не бихте използвали заедно.
pg_prepare()
подготвя израз (заявка) за по-късно изпълнение чрез pg_execute()
. Това се прави като потенциална оптимизация - ако знаете предварително, че ще трябва да изпълните оператора много пъти подред, подготовката му предварително може да спести малко работа на сървъра на базата данни, тъй като не трябва да (повторно) подготвя изявлението за всяко повикване.
pg_query_params()
(както и неговата „по-проста“ версия pg_query()
) просто изпълнява оператора (заявката) директно, принуждавайки сървъра на базата данни да (пре)подготвя израза всеки път, когато функцията бъде извикана.
Накратко, това
$result = pg_query_params($query, $params);
ще ви даде абсолютно същия резултат като този
$statement = pg_prepare($query);
$result = pg_execute($statement, $params);
Единствената разлика е, че във втория случай все още имате подготвения израз, готов за повторно използване за повече извиквания на pg_execute()
- поради което можете да му дадете име, тъй като по този начин можете да имате различни подготвени изрази за една и съща връзка, които можете да изпълнявате както желаете, много пъти, в произволен ред.