Dit indsendte eksempel giver ikke mening - pg_prepare()
og pg_query_params()
er uafhængige funktioner med forskellige formål, som du normalt ikke ville bruge sammen.
pg_prepare()
forbereder en sætning (en forespørgsel) til senere udførelse via pg_execute()
. Dette gøres som en potentiel optimering - hvis du på forhånd ved, at du skal udføre sætningen mange gange i træk, kan forberedelse af den på forhånd spare noget arbejde på databaseserveren, da den ikke skal (gen-)forberede opgørelsen for hvert opkald.
pg_query_params()
(såvel som dens 'simplere' version pg_query()
) udfører blot sætningen (forespørgslen) direkte, hvilket tvinger databaseserveren til at (gen)forberede sætningen, hver gang funktionen bliver kaldt.
Så kort sagt dette
$result = pg_query_params($query, $params);
vil give dig nøjagtig det samme resultat som dette
$statement = pg_prepare($query);
$result = pg_execute($statement, $params);
Den eneste forskel er, at i det andet tilfælde har du stadig den forberedte erklæring, klar til at genbruge for flere kald til pg_execute()
- derfor kan du give det et navn, da du på den måde kan have forskellige forberedte udsagn på den samme forbindelse, som du kan udføre som du vil, mange gange, i vilkårlig rækkefølge.