pg_execute

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

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

Описание

pg_execute(resource $connection = ?, string $stmtname, array $params): resource|false

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

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

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

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

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

stmtname

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

params

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

Внимание

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

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

Ресурс результата выполнения запроса при успешном выполнении. или false в случае возникновения ошибки.

Примеры

Пример #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
-28
nmmm at nmmm dot nu
17 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