pg_prepare

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_prepare — Надсилає запит на створення параметризованого SQL виразу і чекає на його завершення

Опис

pg_prepare(PgSql\Connection $connection = ?, string $stmtname, string $query): PgSql\Result|false

pg_prepare() створює заготівлю SQL вирази на сервері для подальшого запуску функціями pg_execute() або pg_send_execute(). Це дозволяє багаторазово виконувати один раз створені запити з різними параметрами . pg_prepare() підтримується PostgreSQL версії 7.4 та вище. Функція не працюватиме з серверами ранніх версій.

Функція створює заготівлю SQL запиту під назвою stmtname і тілом query, який повинен містити один SQL вираз . stmtname може бути порожнім рядком, тоді буде створено безіменну заготівлю. Якщо якась безіменна заготовка вже визначена, вона буде замінена на нову автоматично. В інших випадках збіг імен нової та існуючої в даній сесії заготовок призведе до помилки. Якщо в query будуть передаватися параметри, вони замінять псевдозмінні $1, $2 і т.д. під час передачі запиту.

Подібні заготівлі запитів можна також робити за допомогою SQL-команди PREPARE (але pg_prepare() більш гнучка, оскільки вимагає суворої типізації своїх параметрів). Важливо, що у PHP немає функцій видалення підготовлених SQL-выражений, цього використовуйте команду SQL DEALLOCATE

Список параметрів

connection

Екземпляр PgSql\Connection. Якщо параметр connection не вказано, буде вибрано стандартне з'єднання. Стандартне з'єднання — це останнє з'єднання, яке встановила функція pg_connect() або pg_pconnect()

Увага

Починаючи з версії PHP 8.1.0, використання стандартного з'єднання застаріло.

stmtname

Ім'я заготовки, що створюється. Має бути унікальним у межах сесії. Якщо встановлено порожній рядок, буде створено безіменний SQL вираз. При цьому він перезапише вже існуючий безіменний вираз, визначений раніше.

query

Параметризований SQL-запит. Повинен містити лише один вираз (кілька виразів розділених крапкою з комою не підтримуються). Якщо в запит будуть передаватися параметри, вони замінять псевдозмінні $1, $2 і т.д.

Значення, що повертаються

Екземпляр PgSql\Result у разі успішного виконання або **false**в случае возникновения ошибки.

список змін

ВерсияОпис
8.1.0Повертає екземпляр PgSql\Result; раніше повертався ресурс (resource
8.1.0Параметрconnection тепер чекає екземпляр PgSql\Connection; раніше очікувався ресурс (resource

Приклади

Приклад #1 Приклад використання pg_prepare()****

Loading...

Дивіться також

  • pg_execute() - Запускає виконання раніше підготовленого параметризованого запиту та чекає результату
  • pg_send_execute() - Запускає попередньо підготовлений SQL-запит та передає йому параметри; не чекає результату, що повертається