-
Notifications
You must be signed in to change notification settings - Fork 59
Expand file tree
/
Copy pathpg-prepare.xml
More file actions
169 lines (157 loc) · 5.51 KB
/
pg-prepare.xml
File metadata and controls
169 lines (157 loc) · 5.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 5f1a92089fa4efe81e9777f87f9ed93f4853898b Maintainer: PhilDaiguille Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.pg-prepare" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pg_prepare</refname>
<refpurpose>
Envía una solicitud al servidor para crear una sentencia preparada con los parámetros
dados y espera la ejecución
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>PgSql\Result</type><type>false</type></type><methodname>pg_prepare</methodname>
<methodparam choice="opt"><type>PgSql\Connection</type><parameter>connection</parameter></methodparam>
<methodparam><type>string</type><parameter>stmtname</parameter></methodparam>
<methodparam><type>string</type><parameter>query</parameter></methodparam>
</methodsynopsis>
<para>
<function>pg_prepare</function> crea una consulta preparada para una
ejecución posterior con <function>pg_execute</function> o
<function>pg_send_execute</function>.
Esta característica permite que las órdenes que serán utilizadas
repetidamente sean analizadas y planificadas una sola vez,
en lugar de ser ejecutadas cada vez.
</para>
<para>
La función crea una consulta preparada llamada
<parameter>stmtname</parameter> a partir de la cadena
<parameter>query</parameter>, la cual debe contener una sola orden
SQL. <parameter>stmtname</parameter> puede ser <literal>""</literal> para crear una
consulta sin nombre. En este caso, las consultas que existían y
que no tenían nombres son automáticamente sobrescritas; de lo contrario, habrá un error si el nombre de la consulta ya está definido en la sesión actual. Si se utilizan parámetros, estos son referenciados como <literal>$1</literal>,
<literal>$2</literal>, etc.
en <parameter>query</parameter>.
</para>
<para>
Las consultas preparadas para ser utilizadas con <function>pg_prepare</function>
también pueden ser creadas ejecutando la orden SQL
<literal>PREPARE</literal>. (Sin embargo, <function>pg_prepare</function>
es más flexible ya que no requiere que los tipos de los parámetros
sean preespecificados.) Además, aunque no existe una función PHP para
eliminar una consulta preparada, la orden SQL
<literal>DEALLOCATE</literal> puede ser utilizada para este propósito.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>connection</parameter></term>
<listitem>
&pgsql.parameter.connection-with-unspecified-default;
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>stmtname</parameter></term>
<listitem>
<para>
El nombre a dar a la consulta preparada. Debe ser único para cada
sesión. Si se especifica una cadena vacía <literal>""</literal> entonces se crea una consulta sin
nombre, sobrescribiendo las consultas sin nombres previamente definidas.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>query</parameter></term>
<listitem>
<para>
La consulta SQL con sus parámetros. Debe contener solo una sola
consulta. Varios comandos separados por punto y coma no son
permitidos. Si se utilizan parámetros, estos son referenciados como
<literal>$1</literal>, <literal>$2</literal>, etc.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Una instancia <classname>PgSql\Result</classname> en caso de éxito, &return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&pgsql.changelog.return-result-object;
&pgsql.changelog.connection-object;
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo con <function>pg_prepare</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Conexión a una base de datos llamada "marie"
$dbconn = pg_connect("dbname=marie");
// Prepara una consulta para la ejecución
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM magasins WHERE nom = $1');
// Ejecuta la consulta preparada. Note que no es necesario escapar
// la cadena "Joe's Widgets"
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));
// Ejecuta la misma consulta preparada, esta vez con un parámetro diferente
$result = pg_execute($dbconn, "my_query", array("Vêtements Vêtements Vêtements"));
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>pg_execute</function></member>
<member><function>pg_send_execute</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->