(PHP 5 >= 5.1.0, PHP 7, PHP 8)
pg_send_prepare — Посылает запрос на создание параметризованного SQL-выражения, не дожидаясь его завершения
Посылает запрос на создание параметризованного SQL выражения и не ждёт его завершения.
Это асинхронная версия функции pg_prepare():
она возвращает true
, если удалось отправить запрос, false
в
противном случае. После успешной отправки, воспользуйтесь функцией
pg_get_result(), чтобы узнать, создалось ли требуемое
SQL выражение. Аргументы функции обрабатываются так же, как в
pg_prepare(). Функция не будет работать
с серверами PostgreSQL версий ниже 7.4.
connection
Экземпляр PgSql\Connection.
statement_name
Имя создаваемой заготовки. Должно быть уникальным в пределах сессии. Если задана пустая строка, будет создано безымянное SQL выражение. При этом оно перезапишет уже существующее безымянное выражение, определённое ранее.
query
Параметризованный SQL запрос. Должен содержать только одно выражение (несколько выражений разделённых точкой с запятой не поддерживаются). Если в запрос будут передаваться параметры, то они заменят псевдопеременные $1, $2 и т.д.
Возвращает true
в случае успешного выполнения, false
или 0
в случае возникновения ошибки.
Для получения результата запроса используйте функцию
pg_get_result().
Версия | Описание |
---|---|
8.1.0 |
Параметр connection теперь ожидает экземпляр PgSql\Connection; ранее ожидался ресурс (resource).
|
Пример #1 Пример использования pg_send_prepare()
<?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);
}
?>