pg_execute

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

pg_executeЗапускает выполнение ранее подготовленного параметризованного запроса и ждёт результат

Описание

pg_execute(PgSql\Connection $connection = ?, string $stmtname, array $params): PgSql\Result|false

Запускает выполнение ранее подготовленного параметризованного запроса и ждёт результат.

pg_execute() аналог функции pg_query_params(), только вместо строки с запросом принимает имя предварительно подготовленного SQL-запроса. Это позволяет многократно выполнять единожды созданные запросы с различными параметрами. Сам запрос должен быть заранее подготовлен в текущей сессии. pg_execute() поддерживается PostgreSQL версии 7.4 и выше. Функция не будет работать на соединениях с сервером ранних версий.

Аргументы функции те же, что и у pg_query_params(), за исключением имени предварительно составленного запроса, который передаётся вместо строки с запросом.

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

connection

Экземпляр PgSql\Connection. Если параметр connection не указан, будет выбрано соединение по умолчанию. Соединение по умолчанию — это последнее соединение, которое установила функция pg_connect() или pg_pconnect().

Внимание

Начиная с версии PHP 8.1.0, использование соединения по умолчанию устарело.

stmtname

Имя подготовленного к исполнению запроса. Если передана пустая строка "", будет выполнен безымянный запрос. Имя и содержимое запроса должны быть подготовлены функцией pg_prepare(), pg_send_prepare() либо с помощью SQL-команды PREPARE.

params

Массив значений параметров запроса для замены псевдопеременных $1, $2 и т.д. в исходной строке запроса. Количество элементов массива должно точно совпадать с количеством псевдопеременных.

Внимание

Элементы массива будут преобразованы в строки.

Возвращаемые значения

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

Список изменений

Версия Описание
8.1.0 Возвращает экземпляр PgSql\Result; ранее возвращался ресурс (resource).
8.1.0 Параметр connection теперь ожидает экземпляр PgSql\Connection; ранее ожидался ресурс (resource).

Примеры

Пример #1 Пример использования pg_execute()

<?php
// Подключение к базе данных "mary"
$dbconn = pg_connect("dbname=mary");

// Подготовка запроса
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');

// Запуск запроса на выполнение. Стоит отметить, что нет необходимости экранировать
// спецсимволы в строке "Joe's Widgets"
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Запуск на выполнение того же запроса, но с другим параметром
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));

?>

Смотрите также

  • pg_prepare() - Посылает запрос на создание параметризованного SQL выражения и ждёт его завершения
  • pg_send_prepare() - Посылает запрос на создание параметризованного SQL-выражения, не дожидаясь его завершения
  • pg_query_params() - Посылает параметризованный запрос на сервер, параметры передаются отдельно от текста SQL запроса

add a note add a note

User Contributed Notes 1 note

up
-11
nmmm at nmmm dot nu
18 years ago
I am not 100% sure in this, but pg_exec() could return 0 as Connection ID.

because of that i change some of my code like this:

$dbres = pg_exec($SQL);

if ($dbres === false){
        echo "DB is down";
        exit;
}else{
        //do something
}
To Top