Edit report at http://bugs.php.net/bug.php?id=47588&edit=1
ID: 47588
User updated by: ssufficool at roadrunner dot com
Reported by: ssufficool at roadrunner dot com
Summary: PDO_DBLIB: barfs on quoted field names
Status: Open
Type: Bug
Package: PDO related
Operating System: Linux Gentoo 2.6.x
-PHP Version: 5.2.9
+PHP Version: 5.3-svn
New Comment:
Set quoted identifiers to allow "FIELD NAME" quoting style.
Index: ext/pdo_dblib/dblib_driver.c
===================================================================
--- ext/pdo_dblib/dblib_driver.c (revision 296453)
+++ ext/pdo_dblib/dblib_driver.c (working copy)
@@ -236,6 +236,9 @@
/* limit text/image from network */
DBSETOPT(H->link, DBTEXTSIZE, "2147483647");
+ /* Allow double quoted field and table names */
+ DBSETOPT(H->link, DBQUOTEDIDENT, NULL);
+
if (vars[3].optval && FAIL == dbuse(H->link, vars[3].optval)) {
goto cleanup;
}
Previous Comments:
------------------------------------------------------------------------
[2009-05-15 19:43:17] ssufficool at roadrunner dot com
Solution:
tsql from freetds package set the following where PDO does not:
set quoted_identifier on
set ansi_warnings on
set ansi_padding on
set ansi_nulls on
set concat_null_yields_null on
Since this is default behavior of FreeTDS (tsql) and NT DBLIB (isql), I
assume it should be for PDO dblib as well.
------------------------------------------------------------------------
[2009-03-06 16:13:33] ssufficool at roadrunner dot com
Description:
------------
When passing a query containing double quoted field names, the query
fails.
Reproduce code:
---------------
$pdo_ms = new PDO('dblib:host=db01;dbname=database',
$_SESSION['user'], $_SESSION['pass'], array(PDO::ATTR_ERRMODE =>
PDO::ERRMODE_EXCEPTION ) );
$rs = $pdo_ms->prepare('SELECT "myView"."FieldName" from "myView" order
by "Some Field"')
Expected result:
----------------
A valid handle to a stmt in $rs
Actual result:
--------------
SQLSTATE[HY000]: General error: 20018 Incorrect syntax near 'FieldName'.
[20018] (severity 5) [(null)]
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=47588&edit=1