<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = 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 => 'zh',
  ),
  'this' => 
  array (
    0 => 'function.odbc-prepare.php',
    1 => 'odbc_prepare',
    2 => 'Prepares a statement for execution',
  ),
  'up' => 
  array (
    0 => 'ref.uodbc.php',
    1 => 'ODBC 函数',
  ),
  'prev' => 
  array (
    0 => 'function.odbc-pconnect.php',
    1 => 'odbc_pconnect',
  ),
  'next' => 
  array (
    0 => 'function.odbc-primarykeys.php',
    1 => 'odbc_primarykeys',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'en',
    'path' => 'reference/uodbc/functions/odbc-prepare.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.odbc-prepare" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">odbc_prepare</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">odbc_prepare</span> &mdash; <span class="dc-title">Prepares a statement for execution</span></p>

 </div>
 
 <div class="refsect1 description" id="refsect1-function.odbc-prepare-description">
  <h3 class="title">说明</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>odbc_prepare</strong></span>(<span class="methodparam"><span class="type">Odbc\Connection</span> <code class="parameter">$odbc</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$query</code></span>): <span class="type"><span class="type">Odbc\Result</span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>

  <p class="para rdfs-comment">
   Prepares a statement for execution. ODBC 结果对象 can be used
   later to execute the statement with <span class="function"><a href="function.odbc-execute.php" class="function">odbc_execute()</a></span>.
  </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>


 <div class="refsect1 parameters" id="refsect1-function.odbc-prepare-parameters">
  <h3 class="title">参数</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">odbc</code></dt>
     <dd>
      <p class="para">ODBC 连接对象，详见
<span class="function"><a href="function.odbc-connect.php" class="function">odbc_connect()</a></span>。</p>
     </dd>
    
    
     <dt><code class="parameter">query</code></dt>
     <dd>
      <p class="para">
       The query string statement being prepared.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.odbc-prepare-returnvalues">
  <h3 class="title">返回值</h3>
  <p class="para">
   返回 ODBC 结果对象 if the SQL command was prepared
   successfully. Returns <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> on error.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.odbc-prepare-changelog">
  <h3 class="title">更新日志</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>版本</th>
      <th>说明</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
 <td>8.4.0</td>
 <td>
  <code class="parameter">odbc</code> 现在需要 <span class="classname"><strong class="classname">Odbc\Connection</strong></span>
  实例；之前需要 <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span>。
 </td>
</tr>

     <tr>
 <td>8.4.0</td>
 <td>
  此函数现在返回 <span class="classname"><strong class="classname">Odbc\Result</strong></span>
  实例；之前返回 <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span>。
 </td>
</tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-function.odbc-prepare-examples">
  <h3 class="title">示例</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>示例 #1 <span class="function"><a href="function.odbc-execute.php" class="function">odbc_execute()</a></span> and <span class="function"><strong>odbc_prepare()</strong></span> example</strong></p>
    <div class="example-contents"><p>
     In the following code, <var class="varname">$success</var> will only be
     <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> if all three parameters to myproc are IN parameters:
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?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">?&gt;</span></span></code></div>
    </div>

   </div>
  </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.oci8.php" class="link">oci8</a> for Oracle).
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.odbc-prepare-seealso">
  <h3 class="title">参见</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.odbc-execute.php" class="function" rel="rdfs-seeAlso">odbc_execute()</a> - Execute a prepared statement</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>