Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re: Re: Getting MySQL Data into an Array.

by Parham (Friar)
on Jan 06, 2002 at 21:22 UTC ( #136689=note: print w/replies, xml ) Need Help??

in reply to Re: Getting MySQL Data into an Array.
in thread Getting MySQL Data into an Array.

i think coolmichael explained is pretty well... but if you want to dump all your information into an array before starting to work and avoiding a while loop altogether, try this:

note: coolmichael, you forgot the semicolon at the end of your code ;)
$dsn = "DBI:mysql:yip;"; $dbh = DBI->connect($dsn,'me','pass'); $sth = $dbh->prepare("SELECT company FROM company_public;"); $sth->execute(); $companies = $sth->fetchall_arrayref; #a reference to an array of arra +ys of references to each row $dbh->disconnect; foreach $row (@$companies) { ($company) = @$row; print "$company\n"; #just printing it out for fun }
if your starting out new with mysql and perl... this tutorial should help you a lot: perlguy

Replies are listed 'Best First'.
Re: Re: Re: Getting MySQL Data into an Array.
by Corion (Pope) on Jan 06, 2002 at 21:53 UTC

    There are some nitpicks I do have with this tutorial.

    First of all, it's the absence of use strict;, which is not really good in code that will be cut, pasted and modified, possibly with typos.

    The mix of implicit return values and explicit return ($sth) statements is also likely to bother the newbie.

    The author also seems to never have heard of the quote method (see for example). I'm not sure if this method is available under every database driver, but it's at least worth a mention.

    Another problem comes from the naive error-handling approach when mixing CGI and the rest of the world - the author prints the full error message back to the end user, something which will at best confuse the end user, in the worst case this will provide crucial information to an attacker. Of course, the topic of the tutorial is databases and not CGI, but why mix in CGI in the first place ?

    perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The $d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider ($c = $d->accept())->get_request(); $c->send_response( new #in the HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web
      I won't disagree with you Corion because "perlguy" does in fact do a few things incorrect. The filter() and Do_SQL() subroutines don't seem all too practical and 'clear'. On the other hand, "perlguy" understandably explains how to SELECT, INSERT, DELETE and UPDATE database entries which i believe were the key points of the tutorial. It is one of the few (only one i found) tutorials which give you an entire program to disect with line-by-line explanations of what is going on.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://136689]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (10)
As of 2018-11-21 14:01 GMT
Find Nodes?
    Voting Booth?
    My code is most likely broken because:

    Results (239 votes). Check out past polls.