<?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 => 'ru',
  ),
  'this' => 
  array (
    0 => 'function.odbc-execute.php',
    1 => 'odbc_execute',
    2 => 'Выполняет запрос',
  ),
  'up' => 
  array (
    0 => 'ref.uodbc.php',
    1 => 'Функции ODBC',
  ),
  'prev' => 
  array (
    0 => 'function.odbc-exec.php',
    1 => 'odbc_exec',
  ),
  'next' => 
  array (
    0 => 'function.odbc-fetch-array.php',
    1 => 'odbc_fetch_array',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/uodbc/functions/odbc-execute.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.odbc-execute" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">odbc_execute</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">odbc_execute</span> &mdash; <span class="dc-title">Выполняет запрос</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.odbc-execute-description">
  <h3 class="title">Описание</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>odbc_execute</strong></span>(<span class="methodparam"><span class="type">Odbc\Result</span> <code class="parameter">$statement</code></span>, <span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$params</code><span class="initializer"> = []</span></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

  <p class="para rdfs-comment">
   Функция выполняет запрос, который подготовили функцией <span class="function"><a href="function.odbc-prepare.php" class="function">odbc_prepare()</a></span>.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.odbc-execute-parameters">
  <h3 class="title">Список параметров</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">statement</code></dt>
     <dd>
      <p class="para">
       Объект ODBC с результатом из функции <span class="function"><a href="function.odbc-prepare.php" class="function">odbc_prepare()</a></span>.
      </p>
     </dd>
    
    
     <dt><code class="parameter">params</code></dt>
     <dd>
      <p class="para">
       Заполнители в подготовленном запросе по порядку заменятся параметрами, которые передали
       в аргументе <code class="parameter">params</code>. Элементы этого массива преобразуются
       в строки при вызове функции.
      </p>
      <p class="para">
       Параметры в одинарных кавычках в аргументе <code class="parameter">params</code>
       функция воспринимает как название файла для считывания и отправки
       на сервер базы данных в качестве данных для заполнителя.
      </p>
      <span class="simpara">
       Для сохранения строки, которая начинается и заканчивается самими одинарными кавычками,
       потребуется обернуть параметр пробелами или другими символами, которые отличаются
       от одинарных кавычек, что предотвратит восприятие параметра как название файла.
       Строку сохраняют через другой механизм, например
       отправляют прямой запрос функцией <span class="function"><a href="function.odbc-exec.php" class="function">odbc_exec()</a></span>,
       если невозможно обернуть параметр другими символами.
      </span>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.odbc-execute-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.odbc-execute-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>
  Функция теперь возвращает объект с результатом ODBC-запроса <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>

     <tr>
      <td>8.0.0</td>
      <td>
       Параметр <code class="parameter">flags</code> удалили.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-function.odbc-execute-examples">
  <h3 class="title">Примеры</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Пример #1 Пример выполнения запроса функциями <span class="function"><strong>odbc_execute()</strong></span> и <span class="function"><a href="function.odbc-prepare.php" class="function">odbc_prepare()</a></span></strong></p>
    <div class="example-contents"><p>
     В следующем примере переменной <var class="varname">$success</var> присвоится значение <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>,
     только если каждый из трёх параметров в списке параметров для выполнения хранимой процедуры myproc
     относится ко входному in-параметру, — передаётся в процедуру по значению:
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><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 /><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 /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   Для вызова хранимой процедуры с inout-параметром, который передаётся по ссылке,
   или с out-параметром, который возвращается из процедуры по значению,
   лучше отправить запрос через родной модуль базы данных
   наподобие модуля <a href="ref.oci8.php" class="link">oci8</a> для СУБД Oracle.
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.odbc-execute-seealso">
  <h3 class="title">Смотрите также</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.odbc-prepare.php" class="function" rel="rdfs-seeAlso">odbc_prepare()</a> - Подготавливает запрос к выполнению</span></li>
   </ul>
  </p>
 </div>


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