Oops, yes, it's fetchrow_array() Tim.
On Thu, Mar 27, 2003 at 11:11:53AM -0800, Brian McCain wrote: > Do you guys mean fetchrow_array() or is there a function ( > fetch_rowarray() ) I've overlooked? > > -Brian McCain > > ----- Original Message ----- > From: "Tim Bunce" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Cc: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> > Sent: Thursday, March 27, 2003 11:08 AM > Subject: Re: db to passwd comparison > > > > On Thu, Mar 27, 2003 at 01:53:16PM -0500, [EMAIL PROTECTED] wrote: > > > $sql->fetch_rowarray() returns a LIST. You are capturing the count of > that list. > > > > Actully fetch_rowarray() returns just the first element when > > called in a scalar context. > > > > Perhaps the problem is that the statement returns more than > > one row but only one is being fetched. > > > > Tim. > > > > > -----Original Message----- > > > From: Rob [mailto:[EMAIL PROTECTED] > > > Sent: Thursday, March 27, 2003 1:12 PM > > > To: [EMAIL PROTECTED] > > > Subject: db to passwd comparison > > > > > > Hi, I'm trying to find out which users in a passwd file are not in a > > > database. What I've tried so far(see below) finds a few but misses even > > > more. I'm thinking it might be the way I'm preparing the statement or > > > perhaps executing it? Something else all together? Any help > appreciated. > > > > > > <snip> > > > $sql = $dbh->prepare_cached("SELECT CustNo, UserName FROM call_log WHERE > > > UserName = ?"); > > > > > > open(IN, "passwd") || die "Can't open passwd file:$!\n"; > > > open(OUT, ">usernames.db") || die "Can't create output file:$!\n"; > > > while(<IN>) { > > > chomp; > > > ($userP, $group) = (split /:/)[0,3]; > > > $grps{$group}++; > > > $sql->execute($userP) > > > or warn "Can't execute select " . $sql->errstr; > > > $userD = $sql->fetchrow_array(); > > > if($userD eq "") { > > > print OUT "UserP:$userP - UserD:$userD\n"; > > > } > > > $sql->finish; > > > } > > > close(OUT); > > > close(IN); > > > </snip> > > > > > > Thanks, > > > -- > > > Rob > > > > > >
