ID: 30690 Updated by: [EMAIL PROTECTED] Reported By: kobaz at kobaz dot net -Status: Open +Status: Bogus Bug Type: InterBase related Operating System: Linux 2.6.5 PHP Version: 4.3.9 New Comment:
Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php When $prepare goes out of scope, it is cleaned up along with all the resources that depend on it. That includes any results that it created. Previous Comments: ------------------------------------------------------------------------ [2004-11-05 02:16:40] kobaz at kobaz dot net 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 this bug report at http://bugs.php.net/?id=30690&edit=1