sql >> Database teknologi >  >> RDS >> PostgreSQL

For at forstå forespørgsler i PHP PG-forberedte statements

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.




  1. MySQL indstiller secure-file-priv til flere mapper

  2. Sådan opretter du en menu i SQLPlus eller PL/SQL

  3. Opdater poster i tabel fra CTE

  4. Slet flere poster med AJAX