Pdo\Pgsql::escapeIdentifier SQL識別子として使用するために文字列をエスケープする &reftitle.description; public stringPdo\Pgsql::escapeIdentifier stringinput テーブル名、カラム名、または関数名など、SQL の識別子として使用する文字列をエスケープします。 これは、ユーザーから提供された識別子が特殊文字を含むため、 SQLパーサーが識別子の一部として解釈できない場合や、 大文字を含む識別子でそれを保持したい場合に有用です。 &reftitle.parameters; input エスケープ対象の文字列(string) &reftitle.returnvalues; エスケープされた文字列(string) を返します。 &reftitle.examples; <methodname>Pdo\Pgsql::escapeIdentifier</methodname> の例 exec("CREATE TABLE $unescapedTableName ()"); $escapedTableName = $pdo->escapeIdentifier('EscapedTableName'); $pdo->exec("CREATE TABLE $escapedTableName ()"); $statement = $pdo->query( "SELECT relname FROM pg_stat_user_tables WHERE relname ilike '%tablename'" ); var_export($statement->fetchAll(PDO::FETCH_COLUMN, 0)); $tableNameWithSymbols = 'Table-Name-With-Symbols'; $pdo->exec("CREATE TABLE $tableNameWithSymbols ()"); ?> ]]> &example.outputs.similar; 'unescapedtablename', 1 => 'EscapedTableName', ) Fatal error: Uncaught PDOException: SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "Table" LINE 1: CREATE TABLE Table-Name-With-Symbols () ]]> &reftitle.seealso; PDO::quote