× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I generally use the db2 functions for all of my database access unless I
specifically need to access a data queue, data area, user space, program,
or some other system object that only the i5 functions can get to.

Brian May
Project Lead
Management Information Systems
Garan, Incorporated
Starkville, Mississippi



Glenn Hopwood <ghopwood.list@xxxxxxxxx>
Sent by: web400-bounces@xxxxxxxxxxxx
04/15/2010 09:00 AM
Please respond to
Web Enabling the AS400 / iSeries <web400@xxxxxxxxxxxx>


To
Web Enabling the AS400 / iSeries <web400@xxxxxxxxxxxx>
cc

Subject
Re: [WEB400] MAJOR information leaked outaboutthefutureofPHPinmeeting I
attended.






I tried creating a sample for Tom and I seem to be having the same
problem (I tried switching the input to i5_fetch_assoc()). I can call my
stored procedure fine with the db2* functions but when I try the i5*
ones I get my parameter returned instead of a result set.

I have a couple of more things I want to try....

Glenn

On 4/15/2010 9:19 AM, Kevin Schroeder wrote:
Could you try calling

$stuff = i5_fetch_assoc( $procExec );

I know that's not what the docs say but that just seems more correct.


Kevin Schroeder
Technology Evangelist
Zend Technologies, Ltd.
www.zend.com
www.twitter.com/kpschrade
www.eschrade.com









-----Original Message-----
From: web400-bounces@xxxxxxxxxxxx [mailto:web400-bounces@xxxxxxxxxxxx]
On Behalf Of Tom Deskevich
Sent: Thursday, April 15, 2010 8:13 AM
To: 'Web Enabling the AS400 / iSeries'
Subject: Re: [WEB400] MAJOR information leaked
outaboutthefutureofPHPinmeeting I attended.


$qUpdateCustomer = "CALL NEWJCLIB/PROC_JC15_ALL( )";
$request = i5_prepare( $qUpdateCustomer );
if( !$request ) var_dump( i5_error( ) );
$procExec = i5_program_call( $request, array() );
if( !$procExec ) var_dump( i5_error( ) );
$stuff = i5_fetch_assoc( $request );
var_dump($stuff) ;


I am to take array() literally?

Or are you telling me to define an array and pass it as a parmameter?
array(8) { [0]=> int(258) [1]=> int(9) [2]=> string(21) "Bad
connection
handle" [3]=> string(0) "" ["num"]=> int(258) ["cat"]=> int(9)
["msg"]=>
string(21) "Bad connection handle" ["desc"]=> string(0) "" }

-----Original Message-----
From: web400-bounces@xxxxxxxxxxxx [mailto:web400-bounces@xxxxxxxxxxxx]
On Behalf Of Kevin Schroeder
Sent: Thursday, April 15, 2010 8:44 AM
To: Web Enabling the AS400 / iSeries
Subject: Re: [WEB400] MAJOR information leaked out
aboutthefutureofPHPinmeeting I attended.

Try

$procExec = i5_program_call( $request, array() );


Kevin Schroeder
Technology Evangelist
Zend Technologies, Ltd.
www.zend.com
www.twitter.com/kpschrade
www.eschrade.com










-----Original Message-----
From: web400-bounces@xxxxxxxxxxxx [mailto:web400-bounces@xxxxxxxxxxxx]
On Behalf Of Tom Deskevich
Sent: Thursday, April 15, 2010 7:40 AM
To: 'Web Enabling the AS400 / iSeries'
Subject: Re: [WEB400] MAJOR information leaked out about
thefutureofPHPinmeeting I attended.

Ok, you switched me from i5_execute to i5_program_call

Here is my code:

$qUpdateCustomer = "CALL NEWJCLIB/PROC_JC15_ALL( )";
$request = i5_prepare( $qUpdateCustomer );
if( !$request ) var_dump( i5_error( ) );
$procExec = i5_program_call( $request );
if( !$procExec ) var_dump( i5_error( ) );
$stuff = i5_fetch_assoc( $request );
var_dump($stuff) ;

I get this:

array(8) { [0]=> int(263) [1]=> int(9) [2]=> string(51) "Wrong
parameter
count for i5_program_call function " [3]=> string(0) "" ["num"]=>
int(263) ["cat"]=> int(9) ["msg"]=> string(51) "Wrong parameter count
for i5_program_call function " ["desc"]=> string(0) ""


-----Original Message-----
From: web400-bounces@xxxxxxxxxxxx [mailto:web400-bounces@xxxxxxxxxxxx]
On Behalf Of Kevin Schroeder
Sent: Thursday, April 15, 2010 8:21 AM
To: Web Enabling the AS400 / iSeries
Subject: Re: [WEB400] MAJOR information leaked out about the
futureofPHPinmeeting I attended.

Nope. What you are doing is taking the "prepare" resource and trying to
get the result from that. What I believe you want to be doing is taking
the "execute" resource and extracting the result from there.

However, the example that I see in the docs that uses i5_fetch_assoc()
seem to use i5_program_prepare and not i5_prepare. If that is the case
your code should look something like

$request = i5_program_prepare( $qUpdateCustomer );
i5_program_call( $request );
$stuff = i5_fetch_assoc( $request );

If I were to venture a guess it looks like you might have combined the
i5_prepare/execute code with the i5_program_prepare/call logic.

Kevin Schroeder
Technology Evangelist
Zend Technologies, Ltd.
www.zend.com
www.twitter.com/kpschrade
www.eschrade.com










-----Original Message-----
From: web400-bounces@xxxxxxxxxxxx [mailto:web400-bounces@xxxxxxxxxxxx]
On Behalf Of Tom Deskevich
Sent: Thursday, April 15, 2010 7:04 AM
To: 'Web Enabling the AS400 / iSeries'
Subject: Re: [WEB400] MAJOR information leaked out about the future
ofPHPinmeeting I attended.

I think you meant to put the WAS on the next line down?


-----Original Message-----
From: web400-bounces@xxxxxxxxxxxx [mailto:web400-bounces@xxxxxxxxxxxx]
On Behalf Of Kevin Schroeder
Sent: Thursday, April 15, 2010 7:42 AM
To: Web Enabling the AS400 / iSeries
Subject: Re: [WEB400] MAJOR information leaked out about the future of
PHPinmeeting I attended.

Maybe I'm missing something here but shouldn't it be

$qUpdateCustomer = "CALL NEWJCLIB/PROC_JC15_ALL( )";
$request = i5_prepare( $qUpdateCustomer );
if( !$request ) var_dump( i5_error( ) );
$procExec = i5_execute( $request );
if( !$procExec ) var_dump( i5_error( ) );
$stuff = i5_fetch_assoc( $procExec );<-- Was
i5_fetch_assoc( $request );
var_dump($stuff) ;

Here is my code:
$qUpdateCustomer = "CALL NEWJCLIB/PROC_JC15_ALL( )";
$request = i5_prepare( $qUpdateCustomer );
if( !$request ) var_dump( i5_error( ) );
$procExec = i5_execute( $request );
if( !$procExec ) var_dump( i5_error( ) );
$stuff = i5_fetch_assoc( $request );<<== already has $request
var_dump($stuff) ;

ANYWAY, I changed it to what I think you meant ($procexec) and now I get
bool(false) shown.

Tom Deskevich
Insane with anger.






As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.