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]