ID: 25917 User updated by: thorsten at rinne dot info Reported By: thorsten at rinne dot info -Status: Feedback +Status: Open Bug Type: ODBC related Operating System: Windows2000 PHP Version: 4CVS, 5CVS New Comment:
Here's my log: SQLQuery: SELECT * FROM TABLE ErrorNum: 4ÃïÏ ErrorMsg: ï Here's the odbc log: [ Process: 924, Thread: 1084 ] [ Date & Time: 27/10/2003 08.23.23.000015 ] [ Product: QDB2/NT DB2 v8.1.3.132 ] [ Level Identifier: 02040106 ] [ CLI Driver Version: 08.01.0000 ] [ Informational Tokens: "DB2 v8.1.3.132","s030728","WR21324","Fixpack 3" ] [0000000924 0000001084] [27/10/2003 08.23.36.934791] SQLExecDirectW( hStmt=1:1, pszSqlStr="SELECT * FROM TABLE" - X"530045004C004500430054002000490044005F004D00410049004C0052004F004F004D002C0020004400450053004300520049005000540049004F004E002C0020005300450052005600450052004E0041004D0045002000460052004F004D0020004D00410049004C0052004F004F004D00", cbSqlStr=-3 ) [0000000924 0000001084] [27/10/2003 08.23.36.935123] [0000000924 0000001084] [27/10/2003 08.23.36.935863] SQLExecDirectW( ) [0000000924 0000001084] [27/10/2003 08.23.36.935972] <--- SQL_SUCCESS Previous Comments: ------------------------------------------------------------------------ [2003-10-22 19:49:26] [EMAIL PROTECTED] can you please turn on the logging option in your client, and post the relavent portions to this bug? Under windows it's in the ODBC Administrator. ------------------------------------------------------------------------ [2003-10-22 08:32:47] thorsten at rinne dot info This bug can also reproduced with PHP 4.3.4RC1 and 4.3.4RC2. This happens with INSERTS, UPDATEs and DELETEs, too. ------------------------------------------------------------------------ [2003-10-20 03:49:22] thorsten at rinne dot info Description: ------------ We use IBM DB2 databases on our Windows2000 systems. The bug occured then writing a database class. The odbc_error() function returns sometimes bad strings with special characters. If a real error occurs, the function returns the correct six-digit ODBC state. After that, the error code will not be removed from memory and the error code will be returned on every query although it is correct. Note: var_dump(odbc_error()) returns sometimes bad strings with special characters, sometimes nothing. Reproduce code: --------------- function myquery($query) { $result = odbc_exec($conn, $query); if (odbc_error($conn)) { print "SQLQuery: ".$query; print "ErrorNum: ".odbc_error($conn)); print "ErrorMsg: ".odbc_errormsg($conn)); } return $result; } Expected result: ---------------- The expected result should be empty when no error occured and the six-digit ODBC state when an error occured. After every correct new query, the result should be empty. Actual result: -------------- Here are some results, the queries are correct: SQLQuery: SELECT * FROM SYSTEM ErrorNum: 8¸ÌP· ErrorMsg: Ìx¹Ì or SQLQuery: SELECT * FROM SYSTEM2 ErrorNum: àWPW ErrorMsg: or SQLQuery: SELECT * FROM SYSTEM ErrorNum: ErrorMsg: ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=25917&edit=1