PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Aby zrozumieć zapytania w PHP PG -przygotowane wypowiedzi

Twój opublikowany przykład nie ma sensu - pg_prepare() i pg_query_params() są niezależnymi funkcjami o różnych celach, których normalnie nie używałbyś w połączeniu.

pg_prepare() przygotowuje instrukcję (zapytanie) do późniejszego wykonania przez pg_execute() . Odbywa się to jako potencjalna optymalizacja - jeśli wiesz z góry, że będziesz musiał wykonać instrukcję wiele razy z rzędu, przygotowanie jej z góry może zaoszczędzić trochę pracy na serwerze bazy danych, ponieważ nie musi (ponownie) przygotowywać oświadczenie dla każdego połączenia.

pg_query_params() (jak również jego „prostsza” wersja pg_query() ) po prostu wykonuje instrukcję (zapytanie) bezpośrednio, zmuszając serwer bazy danych do (ponownie)przygotowania instrukcji za każdym razem, gdy funkcja zostanie wywołana.

Krótko mówiąc, to

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

da ci dokładnie taki sam wynik jak ten

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

Jedyna różnica polega na tym, że w drugim przypadku nadal masz przygotowaną instrukcję, gotową do ponownego użycia w przypadku większej liczby wywołań pg_execute() - dlatego możesz nadać mu nazwę, ponieważ w ten sposób możesz mieć różne przygotowane oświadczenia na tym samym połączeniu, które możesz wykonać, jak chcesz, wiele razy, w dowolnej kolejności.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wartość przesunięcia strefy czasowej serwera

  2. Rails 3, Heroku:Taps Server Error:PGError:ERROR:nieprawidłowa sekwencja bajtów do kodowania UTF8:0xba

  3. Jak utworzyć użytkownika tylko do odczytu w PostgreSQL?

  4. Tworzenie sekwencji znaków w postgreSQL

  5. Potrzebujesz pomocy z wyzwalaczem i funkcją Postgres