<?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 => 'en',
  ),
  'this' => 
  array (
    0 => 'function.pg-escape-identifier.php',
    1 => 'pg_escape_identifier',
    2 => 'Escape an identifier for insertion into a text field',
  ),
  'up' => 
  array (
    0 => 'ref.pgsql.php',
    1 => 'PostgreSQL Functions',
  ),
  'prev' => 
  array (
    0 => 'function.pg-escape-bytea.php',
    1 => 'pg_escape_bytea',
  ),
  'next' => 
  array (
    0 => 'function.pg-escape-literal.php',
    1 => 'pg_escape_literal',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'en',
    'path' => 'reference/pgsql/functions/pg-escape-identifier.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.pg-escape-identifier" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">pg_escape_identifier</h1>
  <p class="verinfo">(PHP 5 &gt;= 5.4.4, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">pg_escape_identifier</span> &mdash; <span class="dc-title">
   Escape an identifier for insertion into a text field
  </span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.pg-escape-identifier-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>pg_escape_identifier</strong></span>(<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 class="initializer"> = ?</span></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"><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="function"><strong>pg_escape_identifier()</strong></span> escapes an identifier
   (e.g. table, field names) for querying the database.  It returns an
   escaped identifier string for PostgreSQL
   server. <span class="function"><strong>pg_escape_identifier()</strong></span> adds double
   quotes before and after data. Users should not add double
   quotes. Use of this function is recommended for identifier
   parameters in query. For SQL literals (i.e. parameters except
   bytea), <span class="function"><a href="function.pg-escape-literal.php" class="function">pg_escape_literal()</a></span>
   or <span class="function"><a href="function.pg-escape-string.php" class="function">pg_escape_string()</a></span> must be used. For bytea
   type fields, <span class="function"><a href="function.pg-escape-bytea.php" class="function">pg_escape_bytea()</a></span> must be used
   instead.
  </p>
 </div>


<div class="refsect1 parameters" id="refsect1-function.pg-escape-identifier-parameters">
  <h3 class="title">Parameters</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">connection</code></dt>
     <dd>
      <p class="para">An <span class="classname"><a href="class.pgsql-connection.php" class="classname">PgSql\Connection</a></span> instance.
When <code class="parameter">connection</code> is unspecified, the default connection is used.
The default connection is the last connection made by <span class="function"><a href="function.pg-connect.php" class="function">pg_connect()</a></span>
or <span class="function"><a href="function.pg-pconnect.php" class="function">pg_pconnect()</a></span>.
<div class="warning"><strong class="warning">Warning</strong><p class="simpara">As of PHP 8.1.0, using the default connection is deprecated.</p></div></p>
     </dd>
    
    
     <dt><code class="parameter">string</code></dt>
     <dd>
      <p class="para">
       A <span class="type"><a href="language.types.string.php" class="type string">string</a></span> containing text to be escaped.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.pg-escape-identifier-returnvalues">
  <h3 class="title">Return Values</h3>
  <p class="para">
   A <span class="type"><a href="language.types.string.php" class="type string">string</a></span> containing the escaped data, or <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> on failure.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.pg-escape-identifier-changelog">
  <h3 class="title">Changelog</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Version</th>
      <th>Description</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
 <td>8.1.0</td>
 <td>
  The <code class="parameter">connection</code> parameter expects an <span class="classname"><a href="class.pgsql-connection.php" class="classname">PgSql\Connection</a></span>
  instance now; previously, a <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span> was expected.
 </td>
</tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-function.pg-escape-identifier-examples">
  <h3 class="title">Examples</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Example #1 <span class="function"><strong>pg_escape_identifier()</strong></span> example</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php <br />  </span><span style="color: #FF8000">// Connect to the database<br />  </span><span style="color: #0000BB">$dbconn </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 />  <br />  </span><span style="color: #FF8000">// Escape the table name data<br />  </span><span style="color: #0000BB">$escaped </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_escape_identifier</span><span style="color: #007700">(</span><span style="color: #0000BB">$table_name</span><span style="color: #007700">);<br />  <br />  </span><span style="color: #FF8000">// Select rows from $table_name<br />  </span><span style="color: #0000BB">pg_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT * FROM </span><span style="color: #007700">{</span><span style="color: #0000BB">$escaped</span><span style="color: #007700">}</span><span style="color: #DD0000">;"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

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

 
 <div class="refsect1 seealso" id="refsect1-function.pg-escape-identifier-seealso">
  <h3 class="title">See Also</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.pg-escape-literal.php" class="function" rel="rdfs-seeAlso">pg_escape_literal()</a> - Escape a literal for insertion into a text field</span></li>
    <li><span class="function"><a href="function.pg-escape-bytea.php" class="function" rel="rdfs-seeAlso">pg_escape_bytea()</a> - Escape a string for insertion into a bytea field</span></li>
    <li><span class="function"><a href="function.pg-escape-string.php" class="function" rel="rdfs-seeAlso">pg_escape_string()</a> - Escape a string for query</span></li>
   </ul>
  </p>
 </div>

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