<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Sends a request to execute a prepared statement with given parameters, and waits for the result.</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.pg-escape-string.html">pg_escape_string</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.pg-fetch-all-columns.html">pg_fetch_all_columns</a></div> <div class="up"><a href="ref.pgsql.html">PostgreSQL Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="function.pg-execute" class="refentry"> <div class="refnamediv"> <h1 class="refname">pg_execute</h1> <p class="verinfo">(PHP 5 >= 5.1.0)</p><p class="refpurpose"><span class="refname">pg_execute</span> — <span class="dc-title">Sends a request to execute a prepared statement with given parameters, and waits for the result.</span></p> </div> <div class="refsect1 description" id="refsect1-function.pg-execute-description"> <h3 class="title">Description</h3> <div class="methodsynopsis dc-description"> <span class="type">resource</span> <span class="methodname"><strong>pg_execute</strong></span> ([ <span class="methodparam"><span class="type">resource</span> <code class="parameter">$connection</code></span> ], <span class="methodparam"><span class="type">string</span> <code class="parameter">$stmtname</code></span> , <span class="methodparam"><span class="type">array</span> <code class="parameter">$params</code></span> )</div> <p class="para rdfs-comment"> Sends a request to execute a prepared statement with given parameters, and waits for the result. </p> <p class="para"> <span class="function"><strong>pg_execute()</strong></span> is like <span class="function"><a href="function.pg-query-params.html" class="function">pg_query_params()</a></span>, but the command to be executed is specified by naming a previously-prepared statement, instead of giving a query string. This feature allows commands that will be used repeatedly to be parsed and planned just once, rather than each time they are executed. The statement must have been prepared previously in the current session. <span class="function"><strong>pg_execute()</strong></span> is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions. </p> <p class="para"> The parameters are identical to <span class="function"><a href="function.pg-query-params.html" class="function">pg_query_params()</a></span>, except that the name of a prepared statement is given instead of a query string. </p> </div> <div class="refsect1 parameters" id="refsect1-function.pg-execute-parameters"> <h3 class="title">Parameters</h3> <p class="para"> <dl> <dt> <span class="term"><em><code class="parameter">connection</code></em></span> <dd> <p class="para"> PostgreSQL database connection resource. When <em><code class="parameter">connection</code></em> is not present, the default connection is used. The default connection is the last connection made by <span class="function"><a href="function.pg-connect.html" class="function">pg_connect()</a></span> or <span class="function"><a href="function.pg-pconnect.html" class="function">pg_pconnect()</a></span>. </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">stmtname</code></em></span> <dd> <p class="para"> The name of the prepared statement to execute. if "" is specified, then the unnamed statement is executed. The name must have been previously prepared using <span class="function"><a href="function.pg-prepare.html" class="function">pg_prepare()</a></span>, <span class="function"><a href="function.pg-send-prepare.html" class="function">pg_send_prepare()</a></span> or a <em>PREPARE</em> SQL command. </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">params</code></em></span> <dd> <p class="para"> An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders. </p> <div class="warning"><strong class="warning">Warning</strong> <p class="para"> Elements are converted to strings by calling this function. </p> </div> </dd> </dt> </dl> </p> </div> <div class="refsect1 returnvalues" id="refsect1-function.pg-execute-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> A query result resource on success or <strong><code>FALSE</code></strong> on failure.</p> </div> <div class="refsect1 examples" id="refsect1-function.pg-execute-examples"> <h3 class="title">Examples</h3> <p class="para"> <div class="example" id="example-2063"> <p><strong>Example #1 Using <span class="function"><strong>pg_execute()</strong></span></strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">// Connect to a database named "mary"<br /></span><span style="color: #0000BB">$dbconn </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"dbname=mary"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Prepare a query for execution<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_prepare</span><span style="color: #007700">(</span><span style="color: #0000BB">$dbconn</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_query"</span><span style="color: #007700">, </span><span style="color: #DD0000">'SELECT * FROM shops WHERE name = $1'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Execute the prepared query. Note that it is not necessary to escape<br />// the string "Joe's Widgets" in any way<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$dbconn</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_query"</span><span style="color: #007700">, array(</span><span style="color: #DD0000">"Joe's Widgets"</span><span style="color: #007700">));<br /><br /></span><span style="color: #FF8000">// Execute the same prepared query, this time with a different parameter<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$dbconn</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_query"</span><span style="color: #007700">, array(</span><span style="color: #DD0000">"Clothes Clothes Clothes"</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> </div> <div class="refsect1 seealso" id="refsect1-function.pg-execute-seealso"> <h3 class="title">See Also</h3> <p class="para"> <ul class="simplelist"> <li class="member"> <span class="function"><a href="function.pg-prepare.html" class="function" rel="rdfs-seeAlso">pg_prepare()</a> - Submits a request to create a prepared statement with the given parameters, and waits for completion.</span></li> <li class="member"> <span class="function"><a href="function.pg-send-prepare.html" class="function" rel="rdfs-seeAlso">pg_send_prepare()</a> - Sends a request to create a prepared statement with the given parameters, without waiting for completion.</span></li> <li class="member"> <span class="function"><a href="function.pg-query-params.html" class="function" rel="rdfs-seeAlso">pg_query_params()</a> - Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.</span></li> </ul> </p> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.pg-escape-string.html">pg_escape_string</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.pg-fetch-all-columns.html">pg_fetch_all_columns</a></div> <div class="up"><a href="ref.pgsql.html">PostgreSQL Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>