pg_send_execute

(PHP 5 >= 5.1.0, PHP 7)

pg_send_execute Запускает предварительно подготовленный SQL-запрос и передает ему параметры; не ожидает возвращаемого результата

Описание

pg_send_execute ( resource $connection , string $stmtname , array $params ) : bool

Запускает предварительно подготовленный SQL-запрос и передает ему параметры; не ожидает возвращаемого результата.

Работает аналогично функции pg_send_query_params(), только вместо строки с запросом принимает имя предварительно подготовленного SQL-запроса. Аргументы функции обрабатываются так же, как и в функции pg_execute(). Как и pg_execute() эта функция не будет работать на соединениях с серверами PostgreSQL версий ниже 7.4.

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

connection

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

stmtname

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

params

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

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

Возвращает true в случае успешной передачи запроса, false в случае ошибки. Для получения результата запроса используйте функцию pg_get_result().

Примеры

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

<?php
  $dbconn 
pg_connect("dbname=publisher") or die("Could not connect");

  
// Подготовка запроса
  
if (!pg_connection_busy($dbconn)) {
    
pg_send_prepare($dbconn"my_query"'SELECT * FROM shops WHERE name = $1');
    
$res1 pg_get_result($dbconn);
  }

  
// Запуск запроса на выполнение. Стоит отметить, что нет необходимости экранировать 
  // спецсимволы в строке "Joe's Widgets" 
  
if (!pg_connection_busy($dbconn)) {
    
pg_send_execute($dbconn"my_query", array("Joe's Widgets"));
    
$res2 pg_get_result($dbconn);
  }
  
  
// Запуск на выполнение того же запроса, но с другим параметром  
  
if (!pg_connection_busy($dbconn)) {
    
pg_send_execute($dbconn"my_query", array("Clothes Clothes Clothes"));
    
$res3 pg_get_result($dbconn);
  }
  
?>

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

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