pg_prepare
Посылает запрос на создание параметризованного SQL выражения
и ждёт его завершения
&reftitle.description;
PgSql\Resultfalsepg_prepare
PgSql\Connectionconnection
stringstmtname
stringquery
pg_prepare создаёт заготовку SQL выражения на сервере
для последующего запуска функциями pg_execute
или pg_send_execute. Это позволяет многократно
выполнять единожды созданные запросы с различными параметрами.
pg_prepare поддерживается PostgreSQL версии 7.4
и выше. Функция не будет работать c серверами ранних версий.
Функция создаёт заготовку SQL запроса с названием stmtname
и телом query, которое должно содержать одно
SQL выражение. stmtname может быть пустой строкой,
тогда будет создана безымянная заготовка. Если какая-либо безымянная
заготовка уже определена, она будет заменена на новую автоматически.
В остальных случаях совпадение имён новой и существующей в данной сессии
заготовок приведёт к ошибке. Если в query
будут передаваться параметры, то они заменят псевдопеременные
$1, $2 и т.д. при передаче запроса.
Подобные заготовки запросов также можно делать с помощью SQL-команды
PREPARE (но pg_prepare
более гибкая, так как не требует строгой типизации своих параметров).
Важно отметить, что в PHP нет функций для удаления подготовленных
SQL-выражений, для этого используйте команду SQL
DEALLOCATE.
&reftitle.parameters;
connection
&pgsql.parameter.connection-with-unspecified-default;
stmtname
Имя создаваемой заготовки. Должно быть уникальным в пределах сессии.
Если задана пустая строка, будет создано безымянное SQL выражение. При
этом оно перезапишет уже существующее безымянное выражение,
определённое ранее.
query
Параметризованный SQL-запрос. Должен содержать только одно выражение
(несколько выражений разделённых точкой с запятой не поддерживаются).
Если в запрос будут передаваться параметры, то они заменят
псевдопеременные $1, $2 и т.д.
&reftitle.returnvalues;
Экземпляр PgSql\Result в случае успешного выполнения&return.falseforfailure;.
&reftitle.changelog;
&Version;
&Description;
&pgsql.changelog.return-result-object;
&pgsql.changelog.connection-object;
&reftitle.examples;
Пример использования pg_prepare
]]>
&reftitle.seealso;
pg_execute
pg_send_execute