Chad Kellerman wrote:
> Hi everyone,
>
> I thought $sth->fetchrow_array would do the trick but its not. I am
> using mysql on linux and I have a query:
>
> SELECT hostname FROM tblHost WHERE status="started";
>
> which returns a list of hostnames. I though the fetchrow_array would
> return a array of hostnames but it does not seem to. It seems to only
> return the first hostname unless I put it in a while loop.
>
> Is there a way that I can grab every hostname from the table into an
> array so that I can run soemthing like a foreach on it??
If you can live with a little speed penalty,
you can use the DBIx::Simple module from CPAN.
use DBIx::Simple;
my $db = DBIx::Simple->connect('DBI:mysql:$db', $user, $passwd)
or die "Cannot connect to database: $!";
my @hostname = $db->query(
qq{SELECT hostname FROM tblHost WHERE status = ?},
'started'
)->flat;
foreach (@hostname) {
# ...
}
Greetings,
Janek