<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.pdo.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'pdo.quote.php',
    1 => 'PDO::quote',
    2 => 'Protege una cadena para usarla en una consulta SQL PDO',
  ),
  'up' => 
  array (
    0 => 'class.pdo.php',
    1 => 'PDO',
  ),
  'prev' => 
  array (
    0 => 'pdo.query.php',
    1 => 'PDO::query',
  ),
  'next' => 
  array (
    0 => 'pdo.rollback.php',
    1 => 'PDO::rollBack',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/pdo/pdo/quote.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="pdo.quote" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">PDO::quote</h1>
  <p class="verinfo">(PHP 5 &gt;= 5.1.0, PHP 7, PHP 8, PECL pdo &gt;= 0.2.1)</p><p class="refpurpose"><span class="refname">PDO::quote</span> &mdash; <span class="dc-title">
   Protege una cadena para usarla en una consulta SQL PDO
  </span></p>

 </div>
 <div class="refsect1 description" id="refsect1-pdo.quote-description">
  <h3 class="title">Descripción</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>PDO::quote</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$string</code></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$type</code><span class="initializer"> = <strong><code><a href="pdo.constants.php#pdo.constants.param-str">PDO::PARAM_STR</a></code></strong></span></span>): <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.singleton.php" class="type false">false</a></span></span></div>


  <p class="para rdfs-comment">
   <span class="methodname"><strong>PDO::quote()</strong></span> coloca comillas simples alrededor
   de una cadena de entrada y protege los caracteres especiales presentes en la
   cadena de entrada, utilizando el estilo de protección apropiado al controlador actual.
  </p>
  <p class="para">
   Si se utiliza esta función para construir consultas SQL, se
   <em>recomienda encarecidamente</em> usar
   <span class="methodname"><a href="pdo.prepare.php" class="methodname">PDO::prepare()</a></span> para preparar las consultas SQL con
   parámetros vinculados en lugar de usar <span class="methodname"><strong>PDO::quote()</strong></span> para
   interpretar las entradas del usuario en la consulta SQL. Las consultas preparadas
   con parámetros vinculados no solo son más portables, flexibles y seguras, sino también
   más rápidas de ejecutar que interpretar las consultas, ya que los lados cliente y servidor pueden
   almacenar en caché una versión compilada de la consulta.
  </p>
  <p class="para">
   No todos los controladores PDO implementan este método (como PDO_ODBC). Utilice
   consultas preparadas en su lugar.
  </p>
  <div class="caution"><strong class="caution">Precaución</strong>
   <h1 class="title">Seguridad: el juego de caracteres por defecto</h1>
   <p class="para">
    El juego de caracteres debe ser definido ya sea a nivel
    del servidor, o durante la conexión a la base de
    datos (dependiendo del driver utilizado) para que afecte
    al método <span class="methodname"><strong>PDO::quote()</strong></span>.
    Ver la <a href="pdo.drivers.php" class="link">documentación
    específica del driver</a> para más información.
   </p>
  </div>
 </div>

 <div class="refsect1 parameters" id="refsect1-pdo.quote-parameters">
  <h3 class="title">Parámetros</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">string</code></dt>
      <dd>
       <p class="para">
        La cadena a proteger.
       </p>
      </dd>
     
    
     <dt><code class="parameter">type</code></dt>
      <dd>
       <p class="para">
        El tipo de datos para los drivers que tienen estilos particulares
        de protección.
        Proporciona una pista al tipo de dato para los controladores que tienen un estilo
        de escape diferente. Por ejemplo <strong><code>PDO_PARAM_LOB</code></strong>
        indica al controlador que escape datos binarios.
       </p>
      </dd>
     
   </dl>
  </p>
 </div>

 <div class="refsect1 returnvalues" id="refsect1-pdo.quote-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="para">
   Devuelve una cadena protegida, que es teóricamente segura para usar
   en una consulta SQL. Devuelve <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si el controlador no soporta
   este tipo de protecciones.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-pdo.quote-examples">
  <h3 class="title">Ejemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 Protección de una cadena normal</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">= new </span><span style="color: #0000BB">PDO</span><span style="color: #007700">(</span><span style="color: #DD0000">'sqlite:/home/lynn/music.sql3'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Cadena simple */<br /></span><span style="color: #0000BB">$string </span><span style="color: #007700">= </span><span style="color: #DD0000">'Nice'</span><span style="color: #007700">;<br />print </span><span style="color: #DD0000">"Cadena no escapada : </span><span style="color: #0000BB">$string</span><span style="color: #DD0000">\n"</span><span style="color: #007700">;<br />print </span><span style="color: #DD0000">"Cadena escapada : " </span><span style="color: #007700">. </span><span style="color: #0000BB">$conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">quote</span><span style="color: #007700">(</span><span style="color: #0000BB">$string</span><span style="color: #007700">) . </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>El ejemplo anterior mostrará:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Cadena no escapada : Nice
Cadena escapada: &#039;Nice&#039;</pre>
</div>
    </div>
   </div>
   <div class="example" id="example-2">
    <p><strong>Ejemplo #2 Protección de una cadena peligrosa</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">= new </span><span style="color: #0000BB">PDO</span><span style="color: #007700">(</span><span style="color: #DD0000">'sqlite:/home/lynn/music.sql3'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Cadena peligrosa */<br /></span><span style="color: #0000BB">$string </span><span style="color: #007700">= </span><span style="color: #DD0000">'Cadena \' particular'</span><span style="color: #007700">;<br />print </span><span style="color: #DD0000">"Cadena no escapada : </span><span style="color: #0000BB">$string</span><span style="color: #DD0000">\n"</span><span style="color: #007700">;<br />print </span><span style="color: #DD0000">"Cadena escapada :" </span><span style="color: #007700">. </span><span style="color: #0000BB">$conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">quote</span><span style="color: #007700">(</span><span style="color: #0000BB">$string</span><span style="color: #007700">) . </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>El ejemplo anterior mostrará:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Cadena no escapada : Cadena &#039; particular
Cadena escapada : &#039;Cadena &#039;&#039; particular&#039;</pre>
</div>
    </div>
   </div>
   <div class="example" id="example-3">
    <p><strong>Ejemplo #3 Protección de una cadena compleja</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">= new </span><span style="color: #0000BB">PDO</span><span style="color: #007700">(</span><span style="color: #DD0000">'sqlite:/home/lynn/music.sql3'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Cadena compleja */<br /></span><span style="color: #0000BB">$string </span><span style="color: #007700">= </span><span style="color: #DD0000">"Co'mpl''exe \"ch'\"aîne"</span><span style="color: #007700">;<br />print </span><span style="color: #DD0000">"Cadena no escapada : </span><span style="color: #0000BB">$string</span><span style="color: #DD0000">\n"</span><span style="color: #007700">;<br />print </span><span style="color: #DD0000">"Cadena escapada : " </span><span style="color: #007700">. </span><span style="color: #0000BB">$conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">quote</span><span style="color: #007700">(</span><span style="color: #0000BB">$string</span><span style="color: #007700">) . </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>El ejemplo anterior mostrará:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Cadena no escapada: Co&#039;mpl&#039;&#039;exe &quot;ch&#039;&quot;aîne
Cadena escapada: &#039;Co&#039;&#039;mpl&#039;&#039;&#039;&#039;exe &quot;ch&#039;&#039;&quot;aîne&#039;</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-pdo.quote-seealso">
  <h3 class="title">Ver también</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="methodname"><a href="pdo.prepare.php" class="methodname" rel="rdfs-seeAlso">PDO::prepare()</a> - Prepara una consulta para su ejecuci&oacute;n y devuelve un objeto</span></li>
    <li><span class="methodname"><a href="pdostatement.execute.php" class="methodname" rel="rdfs-seeAlso">PDOStatement::execute()</a> - Ejecuta una consulta preparada</span></li>
   </ul>
  </p>
 </div>


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