On Tuesday 15 January 2002 21:04, Neil Mooney wrote:
> I want this code to work thru a large cluster and put the rpm information
> into a db ,
> it all works apart from the foreach loop.
>
> why doesnt my code work ( in particular the foreach loop ) ,
>
> // get hostname
> $host = `hostname`;
>
> // get a list of rpms
>
> $rpm_list = `rpm -qa`;
[snip]
> foreach($rpm_list as $rpm)
> {
>
> $query = "UPDATE machine_info SET rpm = '$rpm' WHERE host =
> '$host'";
>
> if (!(mysql_query($query)))
> {
> print "Mysql could not do the update query - for host
> $host";
> }
> }
>
> ------------
>
> i get :
>
> X-Powered-By: PHP/4.0.6
> Content-type: text/html
>
>
> working on host : lxplus038
>
> TEST: lxplus038
>
> <br>
> <b>Warning</b>: Invalid argument supplied for foreach() in <b>
> get_rpm_info.php</b> on line <b>29</b><br>
That's telling you that $rpm_list is not an array. The output of `rpm -qa` is
just a string (with \n for newlines).
Thus to change $rpm_list into an array just do:
$rpm_list = explode("\n", $rpm_list);
hth
--
Jason Wong -> Gremlins Associates -> www.gremlins.com.hk
/*
Alden's Laws:
(1) Giving away baby clothes and furniture is the major cause
of pregnancy.
(2) Always be backlit.
(3) Sit down whenever possible.
*/
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]