ID: 40289 Updated by: [EMAIL PROTECTED] Reported By: podunk dot vn at gmail dot com -Status: Open +Status: Feedback Bug Type: PDO related Operating System: windows xp sp2/IIS/ASAPI PHP Version: 5.2.0 New Comment:
Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.2-win32-latest.zip Previous Comments: ------------------------------------------------------------------------ [2007-01-30 16:03:24] podunk dot vn at gmail dot com Description: ------------ When selecting a varbinary(MAX) field from a microsoft sql 2005 database, using the Microsoft ODBC Driver Manager for SQL, and binding the result to a PHP variable, the Driver Manager fails with the following error: array ( 0 => 'HY090', 1 => 0, 2 => '[Microsoft][ODBC Driver Manager] Invalid string or buffer length (SQLBindCol[0] at ext\\pdo_odbc\\odbc_stmt.c:430)', 3 => 'HY090', ) More information on HY090 can be found at: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odbcsqlbindcol.asp Just a guess: the BufferLength isn't being set in odbc_stmt.c somewhere. Reproduce code: --------------- $stmt = $db->prepare("select data from cms_files where fid=11"); $db->execute($stmt); $db->bindColumn($stmt, 1, $lob, PDO::PARAM_LOB); $db->fetch_bound($stmt); Expected result: ---------------- $lob populated with binary data. Actual result: -------------- Driver Manager throws: array ( 0 => 'HY090', 1 => 0, 2 => '[Microsoft][ODBC Driver Manager] Invalid string or buffer length (SQLBindCol[0] at ext\\pdo_odbc\\odbc_stmt.c:430)', 3 => 'HY090', ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=40289&edit=1