Ney guys,

    I am trying to fetch and array form a table and I am not getting the
results I thought I would get:

I thought it was quote simple but when I print them out....well you'll
see?


<code>

#!/usr/bin/perl
use strict;
use warnings;

use DBI;

my( $dbname ) = "BACKUP";
my( $mysqluser ) = "bob";
my( $mysqlpasswd ) = "bobspasswd";
my( $dbh, $sth, $rc, @failedCon, $var, $name, @names );

#these variables will be passed to subroutine in main program.
my( $hostId ) = "543";
my( $biggyFlag ) = "0";
my( $hostDirFlag ) = "0";


$dbh = DBI->connect( "DBI:mysql:database=".$dbname, $mysqluser,
$mysqlpasswd ) or die "Cannot connect to database: $!";

#first check for failed attempts

$sth = $dbh->prepare( qq{ SELECT failedConAttempt FROM tblControl WHERE
hostId="$hostId" } );
$sth->execute;
$sth->bind_columns( \$var );
while  ( $sth->fetch ) {

    push @failedCon, $var;

}

print "backup failed to connect to $hostId: $failedCon[0] times.\n";


#grab information

if ($failedCon[0] != 0 ) {
        $sth = $dbh->prepare( q{
                                SELECT name FROM tblProcess
                                WHERE biggy_flag="$biggyFlag" AND
hostId="$hostId" AND hostDirFlag="$hostDirFlag" AND status="In-Progress"
OR status="Queued"
                                } );
        $sth->execute;
        $sth->bind_columns( \$name );
        while ( $sth->fetch ) {
            push @names, $name;
            print "@names\n";
        }
    }else{
        $sth = $dbh->prepare( q{
                                SELECT name FROM tblProcess
                                WHERE biggy_flag="$biggyFlag" AND
hostId="$hostId" AND hostDirFlag="$hostDirFlag" } );
        $sth->execute;
                $sth->bind_columns( \$name );
        while ( $sth->fetchrow_array ) {
            push @names, $name;
            print "@names\n";
        }

    }

$rc = $dbh->disconnect;


</code>


when I run this I get:


[root@widowmaker sbin]# perl mysql.pl 
backup failed to connect to 543: 5 times.
alan
alan alex
alan alex bob
alan alex bob cole
alan alex bob cole brian
alan alex bob cole brian coleman
alan alex bob cole brian coleman david
alan alex bob cole brian coleman david edward
alan alex bob cole brian coleman david edward evilyn

  THe first print statemnet I get I expect, it came out right. But I
just want to print the second array.. Why does it print
alan
alan alex
alan alex bob
alan alex bob cole
alan alex bob cole brian
alan alex bob cole brian coleman
alan alex bob cole brian coleman david
alan alex bob cole brian coleman david edward
alan alex bob cole brian coleman david edward evilyn

and not just:
alan alex bob cole brian coleman david edward evilyn

am I missing something???

Thanks,
Chad








-- 
Chad Kellerman
Jr. Systems Administrator
Alabanza Inc
410-234-3305

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to