ID: 25123 User updated by: karel dot miarka at issa dot cz Reported By: karel dot miarka at issa dot cz Status: Open Bug Type: OCI8 related Operating System: Windows 2000 PHP Version: 4.3.3RC5-dev, 5.0.0b2-dev New Comment:
I use Apache/1.3.24 for Windows 95/NT, and Oracle8 Release 8.0.5.0.0 - Production on Linux, but it behaves the same also under Oracle 8.1 for Windows. Autotrace seems to be SQL*plus feature only and in addition it seems to be off by default. The ocierror() behaves fine under PHP 4.2 on Windows. And there is no problem with ocierror() on Linux with PHP 4.3.3 . I have reported this bug on "PHP 4.3.x" and someone else has changed this my line to "4.3.3RC5-dev, 5.0.0b2-dev" so I guess this "unknown" person is a PHP-OCI8 developer who reproduced this error with those PHP version. Previous Comments: ------------------------------------------------------------------------ [2003-08-29 08:44:48] guenter_doge at web dot de Could not reproduce this with PHP 4.3.3 & IIS 5.0 & win 2k & Oracle 8.1.7 One guess: Disable tracing in Oracle ("Set Autotrace Off") and try again. ------------------------------------------------------------------------ [2003-08-18 00:58:09] karel dot miarka at issa dot cz Description: ------------ ocierror() function: 1) returns ORA-24315 illegal attribute type after any error. For example ociexcute() prints the valid error in notice, but calling ocierror returns always ORA-24315 illegal attribute type: Warning: OCIStmtExecute: ORA-00942: table or view does not exist in c:\www\ocierror_bug.php on line 20 ocierror($stmt): Array ( [code] => 24315 [message] => ORA-24315: illegal attribute type [offset] => 17 [sqltext] => ) 1 2) doesn't return the sqltext item in the error array The bug is in all PHP 4.3.x Windows versions. 3) invalid error offset returned Reproduce code: --------------- <?php echo '<h1>PHP ocierror() bug</h1>'; $conn = ocilogon('user', 'passwd', 'host'); // execute error BEGIN $stmt = ociparse($conn, "SELECT xyz12345 FROM no_table123"); ociexecute($stmt); echo 'ocierror($stmt): ', print_r(ocierror($stmt)), '<br />'; ocifreestatement($stmt); // execute error END ocilogoff($conn); ?> Expected result: ---------------- Warning: OCIStmtExecute: ORA-00942: table or view does not exist in c:\www\ocierror_bug.php on line 20 ocierror($stmt): Array ( [code] => 942 [message] => ORA-00942: table or view does not exist [offset] => 22 [sqltext] => SELECT xyz12345 FROM no_table123) 1 Actual result: -------------- Warning: OCIStmtExecute: ORA-00942: table or view does not exist in c:\www\ocierror_bug.php on line 20 ocierror($stmt): Array ( [code] => 24315 [message] => ORA-24315: illegal attribute type [offset] => 17 [sqltext] => ) 1 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=25123&edit=1