I am moving to php-4.2.1 now and still looking for explanation how to use
exeption
handling in informix stored procedures. As I've wrote a year ago here,
when I trying to execute the following php code:

<?
$connid=ifx_connect("basename","username","password" );

$q="execute procedure test()";
$i=ifx_query($q,$connid);
echo( ifx_errormsg() );

ifx_free_result($i);
?>

and stored procedure is:
CREATE PROCEDURE TEST()
   RAISE EXCEPTION -746, 0, "testing...";
END PROCEDURE

I expect to see "testting..." but see nothing.
After applaying patch the code work  fine.

--- ifx.ec.original     Mon Jun  3 19:02:27 2002
+++ ifx.ec      Wed Jun  5 10:07:10 2002
@@ -756,6 +756,7 @@
        int  cursoryproc;
        int  argc=ZEND_NUM_ARGS();
        long ifx_type;
+     char errmsg746[72];

        if(argc < 2 || zend_get_parameters_ex(argc, &query, &ifx_link,
&dummy, &dummy)==FAILURE) {
                WRONG_PARAM_COUNT;
@@ -921,8 +922,10 @@

                if (ifx_check() < 0) {
                        IFXG(sv_sqlcode) = SQLCODE;
+                      strcpy(errmsg746, sqlca.sqlerrm);
                        EXEC SQL DEALLOCATE DESCRIPTOR :descrpid;
                        EXEC SQL free :statemid;
+                      strcpy(sqlca.sqlerrm, errmsg746);
                        efree(Ifx_Result);
                        php_error(E_WARNING,"Execute immediate fails : %s
(%s)", statement, ifx_error(ifx));
                        RETURN_FALSE;


Best wishes
Andrey Glukhov










-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to