<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.cubrid.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'uk',
  ),
  'this' => 
  array (
    0 => 'function.cubrid-bind.php',
    1 => 'cubrid_bind',
    2 => 'Bind variables to a prepared statement as parameters',
  ),
  'up' => 
  array (
    0 => 'ref.cubrid.php',
    1 => 'Функції CUBRID',
  ),
  'prev' => 
  array (
    0 => 'ref.cubrid.php',
    1 => 'Функції CUBRID',
  ),
  'next' => 
  array (
    0 => 'function.cubrid-close-prepare.php',
    1 => 'cubrid_close_prepare',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'en',
    'path' => 'reference/cubrid/functions/cubrid-bind.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.cubrid-bind" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">cubrid_bind</h1>
  <p class="verinfo">(PECL CUBRID &gt;= 8.3.0)</p><p class="refpurpose"><span class="refname">cubrid_bind</span> &mdash; <span class="dc-title">Bind variables to a prepared statement as parameters</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.cubrid-bind-description">
  <h3 class="title">Опис</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>cubrid_bind</strong></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span> <code class="parameter">$req_identifier</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$bind_index</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$bind_value</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$bind_value_type</code><span class="initializer"> = ?</span></span><br>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

  <p class="para rdfs-comment">
   The <span class="function"><strong>cubrid_bind()</strong></span> function is used to bind values to a
   corresponding named or question mark placeholder in the SQL statement that
   was passed to <span class="function"><a href="function.cubrid-prepare.php" class="function">cubrid_prepare()</a></span>. If
   <code class="parameter">bind_value_type</code> is not given, string will be the
   default.
  </p>
  <blockquote class="note"><p><strong class="note">Зауваження</strong>: 
   <p class="para">
    If the type of data to be bound is BLOB/CLOB, CUBRID will try to map the
    data as a PHP stream. If the actually bind value type is not stream,
    CUBRID will convert it to string, and use it as the full path and file
    name of a file on the client filesystem.
   </p>
   <p class="para">
    If the type of data to be bound explicitly is ENUM, the <code class="parameter">bind_value</code>
    argument should be the enum element which is in string format.
   </p>
   <p class="para">
    In CUBRID shard envrioment, the <code class="parameter">bind_value_type</code> must be included in 
    the <span class="function"><strong>cubrid_bind()</strong></span> function.
   </p>
  </p></blockquote>
  <p class="para">
  The following table shows the types of substitute values.
  </p>
  <p class="para">
   <table class="doctable table">
    <caption><strong>CUBRID Bind Date Types</strong></caption>
    
     <thead>
      <tr>
       <th>Support</th>
       <th>Bind Type</th>
       <th>Corresponding SQL Type</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>Supported</td>
       <td>STRING</td>
       <td>CHAR, VARCHAR</td>
      </tr>

      <tr>
       <td class="empty">&nbsp;</td>
       <td>NCHAR</td>
       <td>NCHAR, NVARCHAR</td>
      </tr>

      <tr>
       <td class="empty">&nbsp;</td>
       <td>BIT</td>
       <td>BIT, VARBIT</td>
      </tr>

      <tr>
       <td class="empty">&nbsp;</td>
       <td>NUMERIC or NUMBER</td>
       <td>SHORT, INT, NUMERIC</td>
      </tr>

      <tr>
       <td class="empty">&nbsp;</td>
       <td>FLOAT</td>
       <td>FLOAT</td>
      </tr>

      <tr>
       <td class="empty">&nbsp;</td>
       <td>DOUBLE</td>
       <td>DOUBLE</td>
      </tr>

      <tr>
       <td class="empty">&nbsp;</td>
       <td>TIME</td>
       <td>TIME</td>
      </tr>

      <tr>
       <td class="empty">&nbsp;</td>
       <td>DATE</td>
       <td>DATE</td>
      </tr>

      <tr>
       <td class="empty">&nbsp;</td>
       <td>TIMESTAMP</td>
       <td>TIMESTAMP</td>
      </tr>

      <tr>
       <td class="empty">&nbsp;</td>
       <td>OBJECT</td>
       <td>OBJECT</td>
      </tr>

      <tr>
       <td class="empty">&nbsp;</td>
       <td>ENUM</td>
       <td>ENUM</td>
      </tr>

      <tr>
       <td class="empty">&nbsp;</td>
       <td>BLOB</td>
       <td>BLOB</td>
      </tr>

      <tr>
       <td class="empty">&nbsp;</td>
       <td>CLOB</td>
       <td>CLOB</td>
      </tr>

      <tr>
       <td class="empty">&nbsp;</td>
       <td>NULL</td>
       <td>NULL</td>
      </tr>

      <tr>
       <td>Not supported</td>
       <td>SET</td>
       <td>SET</td>
      </tr>

      <tr>
       <td class="empty">&nbsp;</td>
       <td>MULTISET</td>
       <td>MULTISET</td>
      </tr>

      <tr>
       <td class="empty">&nbsp;</td>
       <td>SEQUENCE</td>
       <td>SEQUENCE</td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.cubrid-bind-parameters">
 <h3 class="title">Параметри</h3>
 <p class="para">
  <dl>
    
  <dt><code class="parameter">req_identifier</code></dt>
  <dd><p class="para">Request identifier as a result of
    <span class="function"><a href="function.cubrid-prepare.php" class="function">cubrid_prepare()</a></span>.</p></dd>
   
   
  <dt><code class="parameter">bind_index</code></dt>
  <dd><p class="para">Location of binding parameters. It starts with 1.</p></dd>
   
   
  <dt><code class="parameter">bind_value</code></dt>
  <dd><p class="para">Actual value for binding.</p></dd>
   
   
  <dt><code class="parameter">bind_value_type</code></dt>
  <dd><p class="para">A type of the value to bind. (It is omitted by default.
    Thus, the system internally uses string by default. However, you need to
    specify the exact type of the value as an argument when they are NCHAR,
    BIT, or BLOB/CLOB).</p></dd>
   
  </dl>
  </p>
 </div>

 
 <div class="refsect1 returnvalues" id="refsect1-function.cubrid-bind-returnvalues">
  <h3 class="title">Значення, що повертаються</h3>
  <p class="para">
   Повертає <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> у разі успіху або <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> в разі помилки.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.cubrid-bind-changelog">
  <h3 class="title">Журнал змін</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Версія</th>
       <th>Опис</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>8.3.1</td>
       <td>
        Added BLOB/CLOB data types support.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.cubrid-bind-examples">
  <h3 class="title">Приклади</h3>
  <div class="example" id="example-1">
   <p><strong>Приклад #1 <span class="function"><strong>cubrid_bind()</strong></span> example</strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$conn </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">, </span><span style="color: #0000BB">33000</span><span style="color: #007700">, </span><span style="color: #DD0000">"demodb"</span><span style="color: #007700">, </span><span style="color: #DD0000">"dba"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">, </span><span style="color: #DD0000">"SELECT code FROM event WHERE sports='Basketball' and gender='M'"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">, </span><span style="color: #0000BB">CUBRID_ASSOC</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$event_code </span><span style="color: #007700">= </span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">"code"</span><span style="color: #007700">];<br /><br /></span><span style="color: #0000BB">cubrid_close_request</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$game_req </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_prepare</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">, </span><span style="color: #DD0000">"SELECT athlete_code FROM game WHERE host_year=1992 and event_code=? and nation_code='USA'"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">cubrid_bind</span><span style="color: #007700">(</span><span style="color: #0000BB">$game_req</span><span style="color: #007700">, </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">$event_code</span><span style="color: #007700">, </span><span style="color: #DD0000">"number"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">cubrid_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$game_req</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"--- Dream Team (1992 United States men's Olympic basketball team) ---\n"</span><span style="color: #007700">);<br />while (</span><span style="color: #0000BB">$athlete_code </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$game_req</span><span style="color: #007700">, </span><span style="color: #0000BB">CUBRID_NUM</span><span style="color: #007700">)) {<br />    </span><span style="color: #0000BB">$athlete_req </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_prepare</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">, </span><span style="color: #DD0000">"SELECT name FROM athlete WHERE code=? AND nation_code='USA' AND event='Basketball' AND gender='M'"</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">cubrid_bind</span><span style="color: #007700">(</span><span style="color: #0000BB">$athlete_req</span><span style="color: #007700">, </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">$athlete_code</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">], </span><span style="color: #DD0000">"number"</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">cubrid_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$athlete_req</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_fetch_assoc</span><span style="color: #007700">(</span><span style="color: #0000BB">$athlete_req</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">"name"</span><span style="color: #007700">]);<br />}<br /><br /></span><span style="color: #0000BB">cubrid_close_request</span><span style="color: #007700">(</span><span style="color: #0000BB">$game_req</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">cubrid_close_request</span><span style="color: #007700">(</span><span style="color: #0000BB">$athlete_req</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">cubrid_disconnect</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

<div class="example-contents"><p>Поданий вище приклад
виведе:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">--- Dream Team (1992 United States men&#039;s Olympic basketball team) ---
Stockton John
Robinson David
Pippen Scottie
Mullin C.
Malone Karl
Laettner C.
Jordan Michael
Johnson Earvin
Ewing Patrick
Drexler Clyde
Bird Larry
Barkley Charles</pre>
</div>
   </div>
  </div>

  <div class="example" id="example-2">
   <p><strong>Приклад #2 <span class="function"><strong>cubrid_bind()</strong></span> BLOB/CLOB example</strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$con </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">, </span><span style="color: #0000BB">33000</span><span style="color: #007700">, </span><span style="color: #DD0000">"demodb"</span><span style="color: #007700">, </span><span style="color: #DD0000">"dba"</span><span style="color: #007700">, </span><span style="color: #DD0000">""</span><span style="color: #007700">);<br />if (</span><span style="color: #0000BB">$con</span><span style="color: #007700">) {<br />    </span><span style="color: #0000BB">cubrid_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">,</span><span style="color: #DD0000">"DROP TABLE if exists php_cubrid_lob_test"</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">cubrid_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">,</span><span style="color: #DD0000">"CREATE TABLE php_cubrid_lob_test (doc_content CLOB)"</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">$sql </span><span style="color: #007700">= </span><span style="color: #DD0000">"INSERT INTO php_cubrid_lob_test(doc_content) VALUES(?)"</span><span style="color: #007700">; <br />    </span><span style="color: #0000BB">$req </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_prepare</span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">, </span><span style="color: #0000BB">$sql</span><span style="color: #007700">); <br /><br />    </span><span style="color: #0000BB">$fp </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">"book.txt"</span><span style="color: #007700">, </span><span style="color: #DD0000">"rb"</span><span style="color: #007700">);<br /><br />    </span><span style="color: #0000BB">cubrid_bind</span><span style="color: #007700">(</span><span style="color: #0000BB">$req</span><span style="color: #007700">, </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">$fp</span><span style="color: #007700">, </span><span style="color: #DD0000">"clob"</span><span style="color: #007700">); <br />    </span><span style="color: #0000BB">cubrid_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$req</span><span style="color: #007700">);  <br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>

  <div class="example" id="example-3">
   <p><strong>Приклад #3 <span class="function"><strong>cubrid_bind()</strong></span> BLOB/CLOB example</strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$con </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">, </span><span style="color: #0000BB">33000</span><span style="color: #007700">, </span><span style="color: #DD0000">"demodb"</span><span style="color: #007700">, </span><span style="color: #DD0000">"dba"</span><span style="color: #007700">, </span><span style="color: #DD0000">""</span><span style="color: #007700">);<br />if (</span><span style="color: #0000BB">$con</span><span style="color: #007700">) {<br />    </span><span style="color: #0000BB">cubrid_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">,</span><span style="color: #DD0000">"DROP TABLE if exists php_cubrid_lob_test"</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">cubrid_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">,</span><span style="color: #DD0000">"CREATE TABLE php_cubrid_lob_test (image BLOB)"</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">$sql </span><span style="color: #007700">= </span><span style="color: #DD0000">"INSERT INTO php_cubrid_lob_test(image) VALUES(?)"</span><span style="color: #007700">; <br />    </span><span style="color: #0000BB">$req </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_prepare</span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">, </span><span style="color: #0000BB">$sql</span><span style="color: #007700">); <br /><br />    </span><span style="color: #0000BB">cubrid_bind</span><span style="color: #007700">(</span><span style="color: #0000BB">$req</span><span style="color: #007700">, </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #DD0000">"cubrid_logo.png"</span><span style="color: #007700">, </span><span style="color: #DD0000">"blob"</span><span style="color: #007700">); <br />    </span><span style="color: #0000BB">cubrid_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$req</span><span style="color: #007700">);  <br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.cubrid-bind-seealso">
  <h3 class="title">Прогляньте також</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.cubrid-execute.php" class="function" rel="rdfs-seeAlso">cubrid_execute()</a> - Execute a prepared SQL statement</span></li>
    <li><span class="function"><a href="function.cubrid-prepare.php" class="function" rel="rdfs-seeAlso">cubrid_prepare()</a> - Prepare a SQL statement for execution</span></li>
   </ul>
  </p>
 </div>

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