<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.ibase.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'function.ibase-trans.php',
    1 => 'ibase_trans',
    2 => 'Inicia uma transa&ccedil;&atilde;o',
  ),
  'up' => 
  array (
    0 => 'ref.ibase.php',
    1 => 'Fun&ccedil;&otilde;es para Firebird/InterBase',
  ),
  'prev' => 
  array (
    0 => 'function.ibase-set-event-handler.php',
    1 => 'ibase_set_event_handler',
  ),
  'next' => 
  array (
    0 => 'function.ibase-wait-event.php',
    1 => 'ibase_wait_event',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    'path' => 'reference/ibase/functions/ibase-trans.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.ibase-trans" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">ibase_trans</h1>
  <p class="verinfo">(PHP 5, PHP 7 &lt; 7.4.0)</p><p class="refpurpose"><span class="refname">ibase_trans</span> &mdash; <span class="dc-title">Inicia uma transação</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.ibase-trans-description">
  <h3 class="title">Descrição</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>ibase_trans</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$trans_args</code><span class="initializer"> = ?</span></span>, <span class="methodparam"><span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span> <code class="parameter">$link_identifier</code><span class="initializer"> = ?</span></span>): <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span></div>

  <div class="methodsynopsis dc-description"><span class="methodname"><strong>ibase_trans</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span> <code class="parameter">$link_identifier</code><span class="initializer"> = ?</span></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$trans_args</code><span class="initializer"> = ?</span></span>): <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span></div>

  <p class="simpara">
   Inicia uma transação.
  </p>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <span class="simpara">
    A primeira chamada para <span class="function"><strong>ibase_trans()</strong></span> não retornará a transação padrão
    de uma conexão. Todas as transações iniciadas por <span class="function"><strong>ibase_trans()</strong></span>
    serão revertidas no final do script se não foram confirmadas ou
    revertidas por <span class="function"><a href="function.ibase-commit.php" class="function">ibase_commit()</a></span> ou
    <span class="function"><a href="function.ibase-rollback.php" class="function">ibase_rollback()</a></span>.
   </span>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <span class="simpara">
    Esta função aceitará múltiplos argumentos <code class="parameter">trans_args</code>
    e <code class="parameter">link_identifier</code>. Isso permite transações
    em múltiplas conexões de banco de dados, que são confirmadas usando um algoritmo de confirmação de 2 fases.
    Isso significa pode-se confiar nas atualizações para ter sucesso em todos os
    bancos de dados ou falhar em todos os bancos de dados. Isso NÃO significa que podem ser usadas tabelas de
    diferentes bancos de dados na mesma consulta!
   </span>
   <span class="simpara">
    Se forem usadas transações em vários bancos de dados, deve-se especificar tanto
    o <code class="parameter">link_id</code> quanto o <code class="parameter">transaction_id</code>
    em chamadas para <span class="function"><a href="function.ibase-query.php" class="function">ibase_query()</a></span> e <span class="function"><a href="function.ibase-prepare.php" class="function">ibase_prepare()</a></span>.
   </span>
  </p></blockquote>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.ibase-trans-parameters">
  <h3 class="title">Parâmetros</h3>
  <dl>
   
    <dt><code class="parameter">trans_args</code></dt>
    <dd>
     <span class="simpara">
      <code class="parameter">trans_args</code> pode ser uma combinação das constantes
      <strong><code>IBASE_READ</code></strong>,
      <strong><code>IBASE_WRITE</code></strong>,
      <strong><code>IBASE_COMMITTED</code></strong>,
      <strong><code>IBASE_CONSISTENCY</code></strong>,
      <strong><code>IBASE_CONCURRENCY</code></strong>,
      <strong><code>IBASE_REC_VERSION</code></strong>,
      <strong><code>IBASE_REC_NO_VERSION</code></strong>,
      <strong><code>IBASE_WAIT</code></strong> e
      <strong><code>IBASE_NOWAIT</code></strong>.
     </span>
    </dd>
   
   
    <dt><code class="parameter">link_identifier</code></dt>
    <dd>
     <span class="simpara">
      Um identificador de ligação do InterBase. Se omitido, a última ligação aberta é
      assumida.
     </span>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.ibase-trans-returnvalues">
  <h3 class="title">Valor Retornado</h3>
  <p class="simpara">
   Retorna um identificador de transação ou <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> em caso de erro.
  </p>
 </div>


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