Source of: /manual/en/function.odbc-prepare.php
<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.uodbc.inc";
$setup = array (
'home' =>
array (
0 => 'index.php',
1 => 'PHP Manual',
),
'head' =>
array (
0 => 'UTF-8',
1 => 'en',
),
'this' =>
array (
0 => 'function.odbc-prepare.php',
1 => 'odbc_prepare',
),
'up' =>
array (
0 => 'ref.uodbc.php',
1 => 'ODBC Functions',
),
'prev' =>
array (
0 => 'function.odbc-pconnect.php',
1 => 'odbc_pconnect',
),
'next' =>
array (
0 => 'function.odbc-primarykeys.php',
1 => 'odbc_primarykeys',
),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);
manual_header();
?>
<div id="function.odbc-prepare" class="refentry">
<div class="refnamediv">
<h1 class="refname">odbc_prepare</h1>
<p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">odbc_prepare</span> — <span class="dc-title">Prepares a statement for execution</span></p>
</div>
<a name="function.odbc-prepare.description"></a><div class="refsect1 description">
<h3 class="title">Description</h3>
<div class="methodsynopsis dc-description">
<span class="type">resource</span> <span class="methodname"><b>odbc_prepare</b></span>
( <span class="methodparam"><span class="type">resource</span> <tt class="parameter">$connection_id</tt></span>
, <span class="methodparam"><span class="type">string</span> <tt class="parameter">$query_string</tt></span>
)</div>
<p class="para rdfs-comment">
Prepares a statement for execution. The result identifier can be used
later to execute the statement with <a href="function.odbc-execute.php" class="function">odbc_execute()</a>.
</p>
<p class="para">
Some databases (such as IBM DB2, MS SQL Server, and Oracle) support
stored procedures that accept parameters of type IN, INOUT, and OUT as
defined by the ODBC specification. However, the Unified ODBC driver
currently only supports parameters of type IN to stored procedures.
</p>
</div>
<a name="function.odbc-prepare.parameters"></a><div class="refsect1 parameters">
<h3 class="title">Parameters</h3>
<p class="para">
</p><dl>
<dt class="varlistentry">
<span class="term"><i><tt class="parameter">connection_id</tt></i>
</span>
</dt><dd class="listitem">
<p class="para">The ODBC connection identifier,
see <a href="function.odbc-connect.php" class="function">odbc_connect()</a> for details.</p>
</dd>
<dt class="varlistentry">
<span class="term"><i><tt class="parameter">query_string</tt></i>
</span>
</dt><dd class="listitem">
<p class="para">
The query string statement being prepared.
</p>
</dd>
</dl>
<p>
</p>
</div>
<a name="function.odbc-prepare.returnvalues"></a><div class="refsect1 returnvalues">
<h3 class="title">Return Values</h3>
<p class="para">
Returns an ODBC result identifier if the SQL command was prepared
successfully. Returns <b><tt class="constant">FALSE</tt></b> on error.
</p>
</div>
<a name="function.odbc-prepare.examples"></a><div class="refsect1 examples">
<h3 class="title">Examples</h3>
<p class="para">
</p><div class="example">
<p><b>Example #1 <a href="function.odbc-execute.php" class="function">odbc_execute()</a> and <b>odbc_prepare()</b> example</b></p>
<div class="example-contents para"><p>
In the following code, <var class="varname">$success</var> will only be
<b><tt class="constant">TRUE</tt></b> if all three parameters to myproc are IN parameters:
</p></div>
<div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br />$a </span><span style="color: #007700">= </span><span style="color: #0000BB">1</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$b </span><span style="color: #007700">= </span><span style="color: #0000BB">2</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$c </span><span style="color: #007700">= </span><span style="color: #0000BB">3</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$stmt </span><span style="color: #007700">= </span><span style="color: #0000BB">odbc_prepare</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">, </span><span style="color: #DD0000">'CALL myproc(?,?,?)'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$success </span><span style="color: #007700">= </span><span style="color: #0000BB">odbc_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$stmt</span><span style="color: #007700">, array(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">, </span><span style="color: #0000BB">$c</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
</div><p>
</p>
<p class="para">
If you need to call a stored procedure using INOUT or OUT parameters,
the recommended workaround is to use a native extension for your database
(for example, <a href="ref.mssql.php" class="link">mssql</a> for MS SQL Server,
or <a href="ref.mssql.php" class="link">oci8</a> for Oracle).
</p>
</div>
<a name="function.odbc-prepare.seealso"></a><div class="refsect1 seealso">
<h3 class="title">See Also</h3>
<p class="para">
</p><ul class="simplelist">
<li class="member"><a href="function.odbc-execute.php" class="function" rel="rdfs-seeAlso">odbc_execute()</a> - Execute a prepared statement</li>
</ul><p>
</p>
</div>
</div><?php manual_footer(); ?>