Glenn,

The solution that I provided Tom is based on first hand knowledge, not
simply an interpretation of the manual. The code sample that I provided
using i5_paramdesc( ) was based on code that Tom said was correctly
executing his stored procedure but wasn't returning a result. The number
of parameters described and the specific descriptions would be unique to
that particular stored procedure.

Here is the code once again.

$statuscode='XX';
$qUpdateCustomer = "CALL NEWJCLIB/PROC_JC15_SL( ? )";

$request = i5_prepare( $qUpdateCustomer );
if( !$request ) var_dump( i5_error( ) );
$paramDesc = i5_paramdesc( $request, I5_TYPE_CHAR, 0, 5, 0, I5_INOUT
); // I guessed at 5 for the length
if( !$paramDesc ) var_dump( i5_error( ) );
$paramSet = i5_setparam( $request, 0, $statuscode );
if( !$paramSet ) var_dump( i5_error( ) );
$procExec = i5_execute( $request );
if( !$procExec ) var_dump( i5_error( ) );
$stuff = i5_fetch_assoc( $request );
var_dump( $stuff );

We established earlier in the thread that Tom was making a proper working
connection via i5_connect( ). With the code sample above I'm assuming that
Tom's stored procedure is defined with an input/output parameter of data
type CHAR. I guessed a length of five and commented on my guess in case
the actual length is two, etc.

Regards,
Alfred

--
Alfredo Delgado
6800 Broken Sound Pkwy, Suite 150
Boca Raton, Florida 33487

-----web400-bounces@xxxxxxxxxxxx wrote: -----

To: Web Enabling the AS400 / iSeries <web400@xxxxxxxxxxxx>
From: Glenn Hopwood <ghopwood.list@xxxxxxxxx>
Sent by: web400-bounces@xxxxxxxxxxxx
Date: 04/15/2010 10:55
Subject: Re: [WEB400] MAJOR information leaked out in TFM

Alfredo,

Did you get your code to work? I tried yours and the code shown here (1)
that both include the i5_paramdesc() function and I still couldn't get a
result set returned.

(1) [1]http://files.zend.com/help/Zend-Core-i5/i5_php_connector_api.htm

Glenn

On 4/15/2010 10:36 AM, ADelgado@xxxxxxxxxxxxxxxxxx wrote:
> It seems like you missed the point about describing the parameters
so that
> you can get at your output.
> --
> Alfredo Delgado
> 6800 Broken Sound Pkwy, Suite 150
> Boca Raton, Florida 33487
>
> -----web400-bounces@xxxxxxxxxxxx wrote: -----
>
> To: "'Web Enabling the AS400 / iSeries'"<web400@xxxxxxxxxxxx>
> From: "Tom Deskevich"<thomas.l.deskevich@xxxxxxxxxxxxx>
> Sent by: web400-bounces@xxxxxxxxxxxx
> Date: 04/15/2010 10:21
> Subject: Re: [WEB400] MAJOR information leaked out in TFM
>
> Sorry I am up to my ear lobes in alligators with my 'real' job
today.
> But I think this is pretty much what I am doing.
> I did see it.
>
> -----Original Message-----
> From: web400-bounces@xxxxxxxxxxxx
> [[1][2]mailto:web400-bounces@xxxxxxxxxxxx]
> On Behalf Of ADelgado@xxxxxxxxxxxxxxxxxx
> Sent: Thursday, April 15, 2010 9:28 AM
> To: Web Enabling the AS400 / iSeries
> Subject: Re: [WEB400] MAJOR information leaked out in TFM
>
> Did you miss this yesterday?
>
> [2][3]http://archive.midrange.com/web400/201004/msg00096.html
> --
> Alfredo Delgado
> 6800 Broken Sound Pkwy, Suite 150
> Boca Raton, Florida 33487
>
> -----web400-bounces@xxxxxxxxxxxx wrote: -----
>
> To: "'Web Enabling the AS400 /
iSeries'"<web400@xxxxxxxxxxxx>
> From: "Tom Deskevich"<thomas.l.deskevich@xxxxxxxxxxxxx>
> Sent by: web400-bounces@xxxxxxxxxxxx
> Date: 04/15/2010 09:13
> Subject: Re: [WEB400] MAJOR information leaked out
> aboutthefutureofPHPinmeeting 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
> [[1][3][4]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
> [[2][4][5]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
> [[3][5][6]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
> [[4][6][7]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
> [[5][7][8]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.
>
> --
> This is the Web Enabling the AS400 / iSeries (WEB400)
mailing list
> To post a message email: WEB400@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit:
[6][8][9]http://lists.midrange.com/mailman/listinfo/web400
> or email: WEB400-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at [7][9][10]http://archive.midrange.com/web400.
>
> --
> This is the Web Enabling the AS400 / iSeries (WEB400)
mailing list
> To post a message email: WEB400@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit:
[8][10][11]http://lists.midrange.com/mailman/listinfo/web400
> or email: WEB400-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at [9][11][12]http://archive.midrange.com/web400.
>
> --
> This is the Web Enabling the AS400 / iSeries (WEB400)
mailing list
> To post a message email: WEB400@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit:
[10][12][13]http://lists.midrange.com/mailman/listinfo/web400
> or email: WEB400-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at [11][13][14]http://archive.midrange.com/web400.
>
> --
> This is the Web Enabling the AS400 / iSeries (WEB400)
mailing list
> To post a message email: WEB400@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit:
[12][14][15]http://lists.midrange.com/mailman/listinfo/web400
> or email: WEB400-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at [13][15][16]http://archive.midrange.com/web400.
>
> --
> This is the Web Enabling the AS400 / iSeries (WEB400)
mailing list
> To post a message email: WEB400@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit:
[14][16][17]http://lists.midrange.com/mailman/listinfo/web400
> or email: WEB400-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at [15][17][18]http://archive.midrange.com/web400.
>
> References
>
> Visible links
> 1. [18][19]mailto:web400-bounces@xxxxxxxxxxxx
> 2. [19][20]mailto:web400-bounces@xxxxxxxxxxxx
> 3. [20][21]mailto:web400-bounces@xxxxxxxxxxxx
> 4. [21][22]mailto:web400-bounces@xxxxxxxxxxxx
> 5. [22][23]mailto:web400-bounces@xxxxxxxxxxxx
> 6. [23][24]http://lists.midrange.com/mailman/listinfo/web400
> 7. [24][25]http://archive.midrange.com/web400
> 8. [25][26]http://lists.midrange.com/mailman/listinfo/web400
> 9. [26][27]http://archive.midrange.com/web400
> 10. [27][28]http://lists.midrange.com/mailman/listinfo/web400
> 11. [28][29]http://archive.midrange.com/web400
> 12. [29][30]http://lists.midrange.com/mailman/listinfo/web400
> 13. [30][31]http://archive.midrange.com/web400
> 14. [31][32]http://lists.midrange.com/mailman/listinfo/web400
> 15. [32][33]http://archive.midrange.com/web400
> --
> This is the Web Enabling the AS400 / iSeries (WEB400) mailing
list
> To post a message email: WEB400@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: [33][34]http://lists.midrange.com/mailman/listinfo/web400
> or email: WEB400-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at [34][35]http://archive.midrange.com/web400.
>
> --
> This is the Web Enabling the AS400 / iSeries (WEB400) mailing
list
> To post a message email: WEB400@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: [35][36]http://lists.midrange.com/mailman/listinfo/web400
> or email: WEB400-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at [36][37]http://archive.midrange.com/web400.
>
> References
>
> Visible links
> 1. [38]mailto:web400-bounces@xxxxxxxxxxxx
> 2. [39]http://archive.midrange.com/web400/201004/msg00096.html
> 3. [40]mailto:web400-bounces@xxxxxxxxxxxx
> 4. [41]mailto:web400-bounces@xxxxxxxxxxxx
> 5. [42]mailto:web400-bounces@xxxxxxxxxxxx
> 6. [43]mailto:web400-bounces@xxxxxxxxxxxx
> 7. [44]mailto:web400-bounces@xxxxxxxxxxxx
> 8. [45]http://lists.midrange.com/mailman/listinfo/web400
> 9. [46]http://archive.midrange.com/web400
> 10. [47]http://lists.midrange.com/mailman/listinfo/web400
> 11. [48]http://archive.midrange.com/web400
> 12. [49]http://lists.midrange.com/mailman/listinfo/web400
> 13. [50]http://archive.midrange.com/web400
> 14. [51]http://lists.midrange.com/mailman/listinfo/web400
> 15. [52]http://archive.midrange.com/web400
> 16. [53]http://lists.midrange.com/mailman/listinfo/web400
> 17. [54]http://archive.midrange.com/web400
> 18. [55]mailto:web400-bounces@xxxxxxxxxxxx
> 19. [56]mailto:web400-bounces@xxxxxxxxxxxx
> 20. [57]mailto:web400-bounces@xxxxxxxxxxxx
> 21. [58]mailto:web400-bounces@xxxxxxxxxxxx
> 22. [59]mailto:web400-bounces@xxxxxxxxxxxx
> 23. [60]http://lists.midrange.com/mailman/listinfo/web400
> 24. [61]http://archive.midrange.com/web400
> 25. [62]http://lists.midrange.com/mailman/listinfo/web400
> 26. [63]http://archive.midrange.com/web400
> 27. [64]http://lists.midrange.com/mailman/listinfo/web400
> 28. [65]http://archive.midrange.com/web400
> 29. [66]http://lists.midrange.com/mailman/listinfo/web400
> 30. [67]http://archive.midrange.com/web400
> 31. [68]http://lists.midrange.com/mailman/listinfo/web400
> 32. [69]http://archive.midrange.com/web400
> 33. [70]http://lists.midrange.com/mailman/listinfo/web400
> 34. [71]http://archive.midrange.com/web400
> 35. [72]http://lists.midrange.com/mailman/listinfo/web400
> 36. [73]http://archive.midrange.com/web400

--
This is the Web Enabling the AS400 / iSeries (WEB400) mailing list
To post a message email: WEB400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: [74]http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at [75]http://archive.midrange.com/web400.

References

Visible links
1. http://files.zend.com/help/Zend-Core-i5/i5_php_connector_api.htm
2. mailto:web400-bounces@xxxxxxxxxxxx
3. http://archive.midrange.com/web400/201004/msg00096.html
4. mailto:web400-bounces@xxxxxxxxxxxx
5. mailto:web400-bounces@xxxxxxxxxxxx
6. mailto:web400-bounces@xxxxxxxxxxxx
7. mailto:web400-bounces@xxxxxxxxxxxx
8. mailto:web400-bounces@xxxxxxxxxxxx
9. http://lists.midrange.com/mailman/listinfo/web400
10. http://archive.midrange.com/web400
11. http://lists.midrange.com/mailman/listinfo/web400
12. http://archive.midrange.com/web400
13. http://lists.midrange.com/mailman/listinfo/web400
14. http://archive.midrange.com/web400
15. http://lists.midrange.com/mailman/listinfo/web400
16. http://archive.midrange.com/web400
17. http://lists.midrange.com/mailman/listinfo/web400
18. http://archive.midrange.com/web400
19. mailto:web400-bounces@xxxxxxxxxxxx
20. mailto:web400-bounces@xxxxxxxxxxxx
21. mailto:web400-bounces@xxxxxxxxxxxx
22. mailto:web400-bounces@xxxxxxxxxxxx
23. mailto:web400-bounces@xxxxxxxxxxxx
24. http://lists.midrange.com/mailman/listinfo/web400
25. http://archive.midrange.com/web400
26. http://lists.midrange.com/mailman/listinfo/web400
27. http://archive.midrange.com/web400
28. http://lists.midrange.com/mailman/listinfo/web400
29. http://archive.midrange.com/web400
30. http://lists.midrange.com/mailman/listinfo/web400
31. http://archive.midrange.com/web400
32. http://lists.midrange.com/mailman/listinfo/web400
33. http://archive.midrange.com/web400
34. http://lists.midrange.com/mailman/listinfo/web400
35. http://archive.midrange.com/web400
36. http://lists.midrange.com/mailman/listinfo/web400
37. http://archive.midrange.com/web400
38. mailto:web400-bounces@xxxxxxxxxxxx
39. http://archive.midrange.com/web400/201004/msg00096.html
40. mailto:web400-bounces@xxxxxxxxxxxx
41. mailto:web400-bounces@xxxxxxxxxxxx
42. mailto:web400-bounces@xxxxxxxxxxxx
43. mailto:web400-bounces@xxxxxxxxxxxx
44. mailto:web400-bounces@xxxxxxxxxxxx
45. http://lists.midrange.com/mailman/listinfo/web400
46. http://archive.midrange.com/web400
47. http://lists.midrange.com/mailman/listinfo/web400
48. http://archive.midrange.com/web400
49. http://lists.midrange.com/mailman/listinfo/web400
50. http://archive.midrange.com/web400
51. http://lists.midrange.com/mailman/listinfo/web400
52. http://archive.midrange.com/web400
53. http://lists.midrange.com/mailman/listinfo/web400
54. http://archive.midrange.com/web400
55. mailto:web400-bounces@xxxxxxxxxxxx
56. mailto:web400-bounces@xxxxxxxxxxxx
57. mailto:web400-bounces@xxxxxxxxxxxx
58. mailto:web400-bounces@xxxxxxxxxxxx
59. mailto:web400-bounces@xxxxxxxxxxxx
60. http://lists.midrange.com/mailman/listinfo/web400
61. http://archive.midrange.com/web400
62. http://lists.midrange.com/mailman/listinfo/web400
63. http://archive.midrange.com/web400
64. http://lists.midrange.com/mailman/listinfo/web400
65. http://archive.midrange.com/web400
66. http://lists.midrange.com/mailman/listinfo/web400
67. http://archive.midrange.com/web400
68. http://lists.midrange.com/mailman/listinfo/web400
69. http://archive.midrange.com/web400
70. http://lists.midrange.com/mailman/listinfo/web400
71. http://archive.midrange.com/web400
72. http://lists.midrange.com/mailman/listinfo/web400
73. http://archive.midrange.com/web400
74. http://lists.midrange.com/mailman/listinfo/web400
75. http://archive.midrange.com/web400

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.