<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.pgsql.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'function.pg-update.php',
    1 => 'pg_update',
    2 => 'Modifica las l&iacute;neas de una tabla',
  ),
  'up' => 
  array (
    0 => 'ref.pgsql.php',
    1 => 'Funciones de PostgreSQL',
  ),
  'prev' => 
  array (
    0 => 'function.pg-untrace.php',
    1 => 'pg_untrace',
  ),
  'next' => 
  array (
    0 => 'function.pg-version.php',
    1 => 'pg_version',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/pgsql/functions/pg-update.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.pg-update" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">pg_update</h1>
  <p class="verinfo">(PHP 4 &gt;= 4.3.0, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">pg_update</span> &mdash; <span class="dc-title">
   Modifica las líneas de una tabla
  </span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.pg-update-description">
  <h3 class="title">Descripción</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>pg_update</strong></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="class.pgsql-connection.php" class="type PgSql\Connection">PgSql\Connection</a></span> <code class="parameter">$connection</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">$table_name</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$values</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$conditions</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">$flags</code><span class="initializer"> = <strong><code><a href="pgsql.constants.php#constant.pgsql-dml-exec">PGSQL_DML_EXEC</a></code></strong></span></span><br>): <span class="type"><span class="type"><a href="language.types.string.php" class="type string">string</a></span>|<span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></span></div>

  <p class="para rdfs-comment">
   <span class="function"><strong>pg_update()</strong></span> modifica las líneas de la tabla
   <code class="parameter">table_name</code>, que cumplen la condición
   <code class="parameter">conditions</code> con <code class="parameter">values</code>.
  </p>
  <p class="para">
   Si <code class="parameter">flags</code> está especificado,
   <span class="function"><a href="function.pg-convert.php" class="function">pg_convert()</a></span> se aplica a
   <code class="parameter">values</code> con los flags proporcionados.
  </p>
  <p class="para">
   Por omisión <span class="function"><strong>pg_update()</strong></span> pasa valores sin tratar.
   Los valores deben ser escapados o el flag <strong><code><a href="pgsql.constants.php#constant.pgsql-dml-escape">PGSQL_DML_ESCAPE</a></code></strong>
   debe ser especificado en <code class="parameter">flags</code>.
   <strong><code><a href="pgsql.constants.php#constant.pgsql-dml-escape">PGSQL_DML_ESCAPE</a></code></strong> añade comillas y escapa los argumentos/identificadores.
   Por lo tanto, los nombres de tabla/columnas se vuelven sensibles a mayúsculas/minúsculas.
  </p>
  <p class="para">
   Tenga en cuenta que ni el escape ni las consultas preparadas pueden proteger de
   consultas LIKE, JSON, arrays, Regex, etc. Estos argumentos deben ser
   tratados según su contexto. Es decir, escapar/validar los valores.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.pg-update-parameters">
  <h3 class="title">Parámetros</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">connection</code></dt>
     <dd>
      <p class="para">Una instancia <span class="classname"><a href="class.pgsql-connection.php" class="classname">PgSql\Connection</a></span>.</p>
     </dd>
    
    
     <dt><code class="parameter">table_name</code></dt>
     <dd>
      <p class="para">
       El nombre de la tabla en la que las líneas serán actualizadas.
      </p>
     </dd>
    
    
     <dt><code class="parameter">values</code></dt>
     <dd>
      <p class="para">
       Un <span class="type"><a href="language.types.array.php" class="type array">array</a></span> cuyos claves son los nombres de los campos en la tabla
       <code class="parameter">table_name</code>, y donde los valores
       son las líneas correspondientes que serán actualizadas.
      </p>
     </dd>
    
    
     <dt><code class="parameter">conditions</code></dt>
     <dd>
      <p class="para">
       Un <span class="type"><a href="language.types.array.php" class="type array">array</a></span> cuyos claves son los nombres de los campos en la tabla
       <code class="parameter">table_name</code>, y donde los valores son
       las condiciones que deben cumplir las líneas para ser actualizadas.
      </p>
     </dd>
    
    
     <dt><code class="parameter">flags</code></dt>
     <dd>
      <p class="para">
       Cualquier combinación de constantes entre
       <strong><code><a href="pgsql.constants.php#constant.pgsql-conv-force-null">PGSQL_CONV_FORCE_NULL</a></code></strong>,
       <strong><code><a href="pgsql.constants.php#constant.pgsql-dml-no-conv">PGSQL_DML_NO_CONV</a></code></strong>,
       <strong><code><a href="pgsql.constants.php#constant.pgsql-dml-escape">PGSQL_DML_ESCAPE</a></code></strong>,
       <strong><code><a href="pgsql.constants.php#constant.pgsql-dml-exec">PGSQL_DML_EXEC</a></code></strong>,
       <strong><code><a href="pgsql.constants.php#constant.pgsql-dml-async">PGSQL_DML_ASYNC</a></code></strong> o
       <strong><code><a href="pgsql.constants.php#constant.pgsql-dml-string">PGSQL_DML_STRING</a></code></strong>.
       Si <strong><code><a href="pgsql.constants.php#constant.pgsql-dml-string">PGSQL_DML_STRING</a></code></strong> forma parte del argumento
       <code class="parameter">flags</code>, entonces la consulta será devuelta.
       Cuando la constante <strong><code><a href="pgsql.constants.php#constant.pgsql-dml-no-conv">PGSQL_DML_NO_CONV</a></code></strong> o la constante
       <strong><code><a href="pgsql.constants.php#constant.pgsql-dml-escape">PGSQL_DML_ESCAPE</a></code></strong> está definida, no se realizará ninguna llamada a la función
       <span class="function"><a href="function.pg-convert.php" class="function">pg_convert()</a></span> internamente.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.pg-update-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="para">
   Esta función retorna <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> en caso de éxito o <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si ocurre un error.  Devuelve una <span class="type"><a href="language.types.string.php" class="type string">string</a></span> si <strong><code><a href="pgsql.constants.php#constant.pgsql-dml-string">PGSQL_DML_STRING</a></code></strong> es pasado
   a través del argumento <code class="parameter">flags</code>.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.pg-update-changelog">
  <h3 class="title">Historial de cambios</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Versión</th>
      <th>Descripción</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
 <td>8.1.0</td>
 <td>
  El parámetro <code class="parameter">connection</code> ahora espera una instancia de
  <span class="classname"><a href="class.pgsql-connection.php" class="classname">PgSql\Connection</a></span> ; anteriormente, se esperaba un <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.pg-update-examples">
  <h3 class="title">Ejemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 Ejemplo con <span class="function"><strong>pg_update()</strong></span></strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />  $db </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_connect </span><span style="color: #007700">(</span><span style="color: #DD0000">'dbname=foo'</span><span style="color: #007700">);<br />  </span><span style="color: #0000BB">$data </span><span style="color: #007700">= array(</span><span style="color: #DD0000">'field1'</span><span style="color: #007700">=&gt;</span><span style="color: #DD0000">'AA'</span><span style="color: #007700">, </span><span style="color: #DD0000">'field2'</span><span style="color: #007700">=&gt;</span><span style="color: #DD0000">'BB'</span><span style="color: #007700">);<br /><br />  </span><span style="color: #FF8000">// Esto es seguro en cierta medida, ya que todos los valores son escapados<br />  // Sin embargo PostgreSSQL soporta JSON/arrays. Estos no<br />  // son seguros ni por escape ni por consultas preparadas.<br />  </span><span style="color: #0000BB">$res </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_update</span><span style="color: #007700">(</span><span style="color: #0000BB">$db</span><span style="color: #007700">, </span><span style="color: #DD0000">'post_log'</span><span style="color: #007700">, </span><span style="color: #0000BB">$_POST</span><span style="color: #007700">, </span><span style="color: #0000BB">$data</span><span style="color: #007700">);<br />  if (</span><span style="color: #0000BB">$res</span><span style="color: #007700">) {<br />      echo </span><span style="color: #DD0000">"Los datos han sido modificados: </span><span style="color: #0000BB">$res</span><span style="color: #DD0000">\n"</span><span style="color: #007700">;<br />  } else {<br />      echo </span><span style="color: #DD0000">"Problema en los datos del usuario\n"</span><span style="color: #007700">;<br />  }<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.pg-update-seealso">
  <h3 class="title">Ver también</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.pg-convert.php" class="function" rel="rdfs-seeAlso">pg_convert()</a> - Convierte valores de un array asociativo a una forma adecuada para consultas SQL</span></li>
   </ul>
  </p>
 </div>

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