ID:               44278
 User updated by:  ethan dot nelson at ltd dot org
 Reported By:      ethan dot nelson at ltd dot org
-Status:           Feedback
+Status:           Open
 Bug Type:         PDO related
 Operating System: win2k3
 PHP Version:      5.2.5
 New Comment:

<?php

ini_set("display_errors","yes");

$poo = new PDO("odbc:DEVELOPMENT");

$query = "SELECT CAST('asdfasdfasdf' AS nvarchar) AS good, 
CAST('asdfasdfasdf' AS nvarchar(max)) AS garbled";
$stm = $poo->prepare($query);
echo $query."<br>\n";

$id = 1;
$stm->bindParam(':id',$id,PDO::PARAM_INT);
$id2 = 1;
$stm->bindParam(':id2',$id2,PDO::PARAM_INT);

echo "<pre>\n";
if ($stm->execute()) print_r($stm->fetchAll(PDO::FETCH_ASSOC));
else print_r( $stm->errorInfo());
echo "</pre>\n";

phpinfo();

?>

-----------Results in:

SELECT CAST('asdfasdfasdf' AS nvarchar) AS good, CAST('asdfasdfasdf' 
AS nvarchar(max)) AS garbled
Array
(
    [0] => Array
        (
            [good] => asdfasdfasdf
            [garbled] => ä ä
        )

)

PHP Version 5.2.7RC2-dev


Previous Comments:
------------------------------------------------------------------------

[2008-10-21 11:32:36] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/



------------------------------------------------------------------------

[2008-02-28 00:51:28] ethan dot nelson at ltd dot org

Description:
------------
I'm using PDO and the ODBC extension.  Also I've installed the latest
version of the SQL 2005 client tools so that I could create a System DSN
using the SQLNative driver.

That in place, I've run into trouble when selecting data out of
nvarchar(max) fields.  nvarchar works fine, nvarchar(max) fails.

Additionally, it appears that I can insert data into these columns
without issue.

Try something simple... 



Reproduce code:
---------------
$pdo = new PDO("odbc:systemdsn");
$query = "SELECT CAST('asdfasdfasdf' AS nvarchar) AS good,
CAST('asdfasdfasdf' AS nvarchar(max)) AS garbled";
$poo = $pdo->prepare($query);
$poo->execute();
$row = $poo->fetch(PDO::FETCH_ASSOC);

print_r($row);

Expected result:
----------------
Array ( [good] => asdfasdfasdf [garbled] => asdfasdfasdf )

Actual result:
--------------
Array ( [good] => asdfasdfasdf [garbled] => &#65533;&#65533;L
&#65533;L&#65533;&#65533;&#65533; )


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=44278&edit=1

Reply via email to