<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.mysqli.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'mysqli.quote-string.php',
    1 => 'mysqli::quote_string',
    2 => 'Quotes and escapes a string for use in an SQL statement',
  ),
  'up' => 
  array (
    0 => 'class.mysqli.php',
    1 => 'mysqli',
  ),
  'prev' => 
  array (
    0 => 'mysqli.query.php',
    1 => 'mysqli::query',
  ),
  'next' => 
  array (
    0 => 'mysqli.real-connect.php',
    1 => 'mysqli::real_connect',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'en',
    'path' => 'reference/mysqli/mysqli/quote-string.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="mysqli.quote-string" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">mysqli::quote_string</h1>
  <h1 class="refname">mysqli_quote_string</h1>
  <p class="verinfo">(PHP 8 &gt;= 8.6.0)</p><p class="refpurpose"><span class="refname">mysqli::quote_string</span> -- <span class="refname">mysqli_quote_string</span> &mdash; <span class="dc-title">Quotes and escapes a string for use in an SQL statement</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-mysqli.quote-string-description">
  <h3 class="title">Descrição</h3>
  <p class="simpara">Estilo orientado a objetos</p>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="modifier">function</span> <span class="methodname"><strong>mysqli::quote_string</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="type"><a href="language.types.string.php" class="type string">string</a></span></div>

  <p class="simpara">Estilo procedural</p>
  <div class="methodsynopsis dc-description"><span class="modifier">function</span> <span class="methodname"><strong>mysqli_quote_string</strong></span>(<span class="methodparam"><span class="type"><a href="class.mysqli.php" class="type mysqli">mysqli</a></span> <code class="parameter">$mysql</code></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="type"><a href="language.types.string.php" class="type string">string</a></span></div>

  <p class="simpara">
   Creates a legal SQL string literal that can be used in an SQL statement.
   The given string is escaped in the same way as
   <span class="methodname"><a href="mysqli.real-escape-string.php" class="methodname">mysqli::real_escape_string()</a></span>, taking into account
   the current character set of the connection, and the result is wrapped in
   single quotes. The returned value must therefore be inserted into the
   query without adding any further quotes around it.
  </p>
  <p class="simpara">
   Unlike <span class="methodname"><a href="mysqli.real-escape-string.php" class="methodname">mysqli::real_escape_string()</a></span>, the result is
   also safe when the <code class="literal">NO_BACKSLASH_ESCAPES</code> SQL mode is
   enabled on the connection.
  </p>
  <div class="caution"><strong class="caution">Cuidado</strong>
   <h1 class="title">Security: the default character set</h1>
   <p class="simpara">
    The character set must be set either at the server level, or with
    the API function <span class="function"><a href="mysqli.set-charset.php" class="function">mysqli_set_charset()</a></span> for it to affect
    <span class="function"><strong>mysqli_quote_string()</strong></span>. See the concepts section
    on <a href="mysqlinfo.concepts.charset.php" class="link">character sets</a> for
    more information.
   </p>
  </div>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <p class="simpara">
    Quoting is only suitable for string literals. It does not make
    identifiers, such as table or column names, safe. Whenever possible, use
    <a href="mysqli.quickstart.prepared-statements.php" class="link">prepared
    statements</a> instead of building queries manually.
   </p>
  </p></blockquote>
 </div>


 <div class="refsect1 parameters" id="refsect1-mysqli.quote-string-parameters">
  <h3 class="title">Parâmetros</h3>
  <p class="para">
   <dl>
    <dt>
<code class="parameter">mysql</code></dt><dd><p class="simpara">Somente no estilo procedural: Um objeto <span class="classname"><a href="class.mysqli.php" class="classname">mysqli</a></span>
retornado por <span class="function"><a href="function.mysqli-connect.php" class="function">mysqli_connect()</a></span> ou <span class="function"><a href="mysqli.init.php" class="function">mysqli_init()</a></span>
</p></dd>
    
     <dt><code class="parameter">string</code></dt>
     <dd>
      <p class="simpara">
       The string to be quoted and escaped.
      </p>
      <p class="simpara">
       Characters encoded are <code class="literal">NUL (ASCII 0)</code>,
       <code class="literal">\n</code>, <code class="literal">\r</code>, <code class="literal">\</code>,
       <code class="literal">&#039;</code>, <code class="literal">&quot;</code>, and
       <kbd class="keycombo"><kbd class="keycap">CTRL</kbd>+<kbd class="keycap">Z</kbd></kbd>.
       If the <code class="literal">NO_BACKSLASH_ESCAPES</code> SQL mode is enabled on
       the connection, only <code class="literal">&#039;</code> is encoded, by doubling it.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-mysqli.quote-string-returnvalues">
  <h3 class="title">Valor Retornado</h3>
  <p class="simpara">
   Returns the escaped string enclosed in single quotes.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-mysqli.quote-string-examples">
  <h3 class="title">Examples</h3>
  <div class="example" id="example-1">
   <p><strong>Exemplo #1 <span class="methodname"><strong>mysqli::quote_string()</strong></span> example</strong></p>
   <div class="example-contents"><p>Estilo orientado a objetos</p></div>
   <div class="example-contents">
<div class="phpcode"><pre><code style="color: #000000"><span style="color: #0000BB">&lt;?php

mysqli_report</span><span style="color: #007700">(</span><span style="color: #0000BB">MYSQLI_REPORT_ERROR </span><span style="color: #007700">| </span><span style="color: #0000BB">MYSQLI_REPORT_STRICT</span><span style="color: #007700">);
</span><span style="color: #0000BB">$mysqli </span><span style="color: #007700">= new </span><span style="color: #0000BB">mysqli</span><span style="color: #007700">(</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_user"</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_password"</span><span style="color: #007700">, </span><span style="color: #DD0000">"world"</span><span style="color: #007700">);

</span><span style="color: #0000BB">$city </span><span style="color: #007700">= </span><span style="color: #DD0000">"'s-Hertogenbosch"</span><span style="color: #007700">;

</span><span style="color: #FF8000">/* this query with quoted $city will work */
</span><span style="color: #0000BB">$query </span><span style="color: #007700">= </span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT CountryCode FROM City WHERE name=%s"</span><span style="color: #007700">, </span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">quote_string</span><span style="color: #007700">(</span><span style="color: #0000BB">$city</span><span style="color: #007700">));
</span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">);
</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Select returned %d rows.\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$result</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">num_rows</span><span style="color: #007700">);

</span><span style="color: #FF8000">/* this query will fail, because we didn't quote and escape $city */
</span><span style="color: #0000BB">$query </span><span style="color: #007700">= </span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT CountryCode FROM City WHERE name='%s'"</span><span style="color: #007700">, </span><span style="color: #0000BB">$city</span><span style="color: #007700">);
</span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">);</span></code></pre></div>
   </div>

   <div class="example-contents"><p>Estilo procedural</p></div>
   <div class="example-contents">
<div class="phpcode"><pre><code style="color: #000000"><span style="color: #0000BB">&lt;?php

mysqli_report</span><span style="color: #007700">(</span><span style="color: #0000BB">MYSQLI_REPORT_ERROR </span><span style="color: #007700">| </span><span style="color: #0000BB">MYSQLI_REPORT_STRICT</span><span style="color: #007700">);
</span><span style="color: #0000BB">$mysqli </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_user"</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_password"</span><span style="color: #007700">, </span><span style="color: #DD0000">"world"</span><span style="color: #007700">);

</span><span style="color: #0000BB">$city </span><span style="color: #007700">= </span><span style="color: #DD0000">"'s-Hertogenbosch"</span><span style="color: #007700">;

</span><span style="color: #FF8000">/* this query with quoted $city will work */
</span><span style="color: #0000BB">$query </span><span style="color: #007700">= </span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT CountryCode FROM City WHERE name=%s"</span><span style="color: #007700">, </span><span style="color: #0000BB">mysqli_quote_string</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">, </span><span style="color: #0000BB">$city</span><span style="color: #007700">));
</span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_query</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">, </span><span style="color: #0000BB">$query</span><span style="color: #007700">);
</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Select returned %d rows.\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">mysqli_num_rows</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">));

</span><span style="color: #FF8000">/* this query will fail, because we didn't quote and escape $city */
</span><span style="color: #0000BB">$query </span><span style="color: #007700">= </span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT CountryCode FROM City WHERE name='%s'"</span><span style="color: #007700">, </span><span style="color: #0000BB">$city</span><span style="color: #007700">);
</span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_query</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">, </span><span style="color: #0000BB">$query</span><span style="color: #007700">);</span></code></pre></div>
   </div>

   <div class="example-contents"><p>Os exemplos acima produzirão
algo semelhante a:</p></div>
   <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Select returned 1 rows.

Fatal error: Uncaught mysqli_sql_exception: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &#039;s-Hertogenbosch&#039;&#039; at line 1 in...</pre>
</div>
   </div>
  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-mysqli.quote-string-seealso">
  <h3 class="title">Veja também</h3>
  <ul class="simplelist">
   <li><span class="methodname"><a href="mysqli.real-escape-string.php" class="methodname" rel="rdfs-seeAlso">mysqli::real_escape_string()</a> - Escape caracteres especiais em uma string para uso em uma instru&ccedil;&atilde;o SQL, levando em considera&ccedil;&atilde;o o conjunto de caracteres atual da conex&atilde;o</span></li>
   <li><span class="methodname"><a href="mysqli.set-charset.php" class="methodname" rel="rdfs-seeAlso">mysqli::set_charset()</a> - Define o conjunto de caracteres do cliente</span></li>
  </ul>
 </div>


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