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

Reply via email to