Other people have already pointed out the issue around the arguments to push - I thought it might be worth adding that:
What you're doing will put each column from the database into your array, one after another, and squdge them all together. E.g. if one set of results looked like this: (1, 2, 3) then after three fetches your array of results would look like this: (1, 2, 3, 1, 2, 3, 1, 2, 3)
You might be better either
a) putting a reference to @result onto @dept, like this: push @dept, \@result (or you could use fetchrow_arrayref), or
b) using fetchall_arrayref
Either way, instead of a data structure that looks like this: (1, 2, 3, 1, 2, 3, 1, 2, 3) I'd suggest using a data structure like this:
as you'll find it easier to work with when you come to do whatever you're going to do with it. You can find more info about this kind of thing in perlref.( [1, 2, 3], [1, 2, 3], [1, 2, 3] )
HTH! a.
update: of course, if you're only fetching one column at a time then the way you have it is already perfectly sensible, and not worth changing...
In reply to Re: push result into array
by andye
in thread push result into array
by djbryson
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |