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

Reply via email to