informix stored procedures exception handling

From: Date: Wed, 05 Jun 2002 03:27:16 +0000
Subject: informix stored procedures exception handling
Groups: php.db 
Request: Send a blank email to php-db+get-19612@lists.php.net to get a copy of this message
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

« previous php.db (#19612) next »