ID: 31592 Updated by: [EMAIL PROTECTED] Reported By: andreybl at matrix dot co dot il -Status: Open +Status: Bogus Bug Type: Informix related Operating System: RedHat 3.0 ES PHP Version: 5.0.4, 4.3.11 New Comment:
RTFM: "Returns a positive Informix result identifier on success, or FALSE on error." And even if you think this is wrong, we won't change it. Previous Comments: ------------------------------------------------------------------------ [2005-08-31 15:09:52] andreybl at matrix dot co dot il I am just wondering what feedback it is supposed to get from me while it is obvious, that nothing was changed :) The problem is the interface to the ifx_getsqlca() function: it is expected that a function receives result_id as a parameter. Here is the function prototype: array ifx_getsqlca ( int result_id) When function ifx_query() or ifx_prepare() fails, the result_id it relurns is FALSE FALSE FALSE !!!!!!!!!!!!!! And thus this FALSE is qualifid as the "not a valid Informix Result resource" by ifx_getsqlca() function. We must understand, that there is one global variable of type sqlca structure(actually one per thread) which has the information about the LAST SQL statement. So there should be an option to call the ifx_getsqlca() function without parameter(or may be null/false value for result_id) meaning that I want the sqlca of the LAST sql statement performed. So, please, if there is a possibility to fix this bug do NOT just send me email in hope that I will not answer :) ------------------------------------------------------------------------ [2005-08-30 13:11:55] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip ------------------------------------------------------------------------ [2005-01-18 09:26:17] andreybl at matrix dot co dot il Description: ------------ In case when ifx_query() fails it returns FALSE as result id. When ifx_getsqlca gets false as result id, it complains: <b>Warning</b>: ifx_getsqlca(): supplied resource is not a valid Informix Result resource in <b> This is actually a BUG, since when the sql-query fails, it is stll neccessary sometimes, to get the sqlca structure. E.g. to get the ISAM error. Reproduce code: --------------- sleep(20); $db->begin_transaction(); $sql = "update tb set recordingdate = '2005-01-12 11:33:57.597' where id = 138"; if (!($resid = ifx_query($sql, $db->connid))) { echo "Failed to open:\n$sql\n".ifx_error()."\n"; $db->rollback_transaction(); $sqlca = ifx_getsqlca($resind); var_dump($sqlca); die(); } else { echo "Open successfull\n"; ifx_free_result($resid); $db->commit_transaction(); } Expected result: ---------------- ifx_getsqlca should get me the sqlca structure and not an error. Actual result: -------------- ifx_getsqlca fails, the following message appears: <b>Warning</b>: ifx_getsqlca(): supplied argument is not a valid Informix Result resource in <b> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=31592&edit=1