Edit report at http://bugs.php.net/bug.php?id=38196&edit=1
ID: 38196 Comment by: + at ni-poc dot com Reported by: wasti dot redl at gmx dot net Summary: quoteIdentifier() in PDO Status: Open Type: Feature/Change Request Package: PDO related Operating System: Linux PHP Version: 5.1.4 Block user comment: N New Comment: This would be especially handy if you try to extend PDO to allow extended placeholder syntax. In that case you normally simply imply that ` is used as field quote and thus defeat the purpose of using PDO - it isn't cross-DB-compatible anymore. Previous Comments: ------------------------------------------------------------------------ [2010-08-02 16:01:24] jo at feuersee dot de I agree that the current PDO implementation lacks a portable way to quote SQL identifiers like table or field names. Some people will argue that in most cases it's better to avoid quote identifiers at all, and I agree. But every database has it's own list of reserved words which can't be used as a field or table name unless quoted. As it is hardly possible to avoid all reserved words from all databases (to improve portability between database backends), implementing such a method in PDO would be a big help. Alternative suggestion: instead of adding a new method quoteIdentifier() extend PDO::quote() method to accept a new const PDO::PARAM_IDENTIFIER which works as follows: $sql = sprintf("SELECT %s FROM %s", $pdo->quote('field', PDO::PARAM_IDENTIFIER), $pdo->quote('table', PDO::PARAM_IDENTIFIER) ); $sql would then be for MySQL backend: SELECT `field` FROM `table` for SQLite: SELECT 'field' FROM 'table' ------------------------------------------------------------------------ [2006-07-24 17:49:53] wasti dot redl at gmx dot net Description: ------------ It would be nice if PDO supported a quoteIdentifier() method like PEAR::MDB2 does, that quotes strings according to identifier rules of the DBMS. In other words, I need to use arbitrary strings as field or table names in a query and would like a DBMS-independent way of quoting them. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=38196&edit=1