From:             kobaz at kobaz dot net
Operating system: Linux 2.6.5
PHP version:      4.3.9
PHP Bug Type:     InterBase related
Bug description:  Resource handle from ibase_execute becomes invalid after return

Description:
------------
Resource handle from ibase_execute becomes invalid after return

Reproduce code:
---------------
$conn = ibase_connect('localhost:db', 'SYSDBA', 'pass');

function DB_PQuery ($sql, $data) {
  global $conn;
  
  $prepare = ibase_prepare($conn, $sql);
  $result = ibase_execute($prepare, $data);

  //    $A = ibase_fetch_assoc($result);  // uncommenting this will show
resource is valid here                                                    
 
  //    print_r($A);                                                      
                                                                          
  
  // after this function returns, the return value is no longer a valid
resource                                                                  
  
  return $result;
}
                   
$result = DB_PQuery("SELECT * FROM testing WHERE a = ?", '1');

$A = ibase_fetch_assoc($result); // fails with: invalid statement handle  
                                                                          
print_r($A);


Expected result:
----------------
The ibase_fetch_assoc should be successful after DB_PQuery returns.

Actual result:
--------------
Before DB_PQuery returns, $result is a valid resource handle that can be
used with ibase_fetch_assoc successfully.

After DB_PQuery returns, the return value is not a valid resource handle
despite that nothing in the script has modified it.

-- 
Edit bug report at http://bugs.php.net/?id=30690&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=30690&r=trysnapshot4
Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=30690&r=trysnapshot50
Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=30690&r=trysnapshot51
Fixed in CVS:                http://bugs.php.net/fix.php?id=30690&r=fixedcvs
Fixed in release:            http://bugs.php.net/fix.php?id=30690&r=alreadyfixed
Need backtrace:              http://bugs.php.net/fix.php?id=30690&r=needtrace
Need Reproduce Script:       http://bugs.php.net/fix.php?id=30690&r=needscript
Try newer version:           http://bugs.php.net/fix.php?id=30690&r=oldversion
Not developer issue:         http://bugs.php.net/fix.php?id=30690&r=support
Expected behavior:           http://bugs.php.net/fix.php?id=30690&r=notwrong
Not enough info:             http://bugs.php.net/fix.php?id=30690&r=notenoughinfo
Submitted twice:             http://bugs.php.net/fix.php?id=30690&r=submittedtwice
register_globals:            http://bugs.php.net/fix.php?id=30690&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=30690&r=php3
Daylight Savings:            http://bugs.php.net/fix.php?id=30690&r=dst
IIS Stability:               http://bugs.php.net/fix.php?id=30690&r=isapi
Install GNU Sed:             http://bugs.php.net/fix.php?id=30690&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=30690&r=float
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=30690&r=mysqlcfg

Reply via email to