Beefy Boxes and Bandwidth Generously Provided by pair Networks vroom
Perl Monk, Perl Meditation
 
PerlMonks  

Re: Re: Re: DBI returning mysql columns in strange order.

by dragonchild (Archbishop)
on Oct 10, 2003 at 10:53 UTC ( [id://298276]=note: print w/replies, xml ) Need Help??

This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.


in reply to Re: Re: DBI returning mysql columns in strange order.
in thread DBI returning mysql columns in strange order.

Please stand corrected. *grins*
sub display_table { my ($dbh, $table_name, $columns, $is_ordered) = @_; my $sql = 'SELECT '; $sql .= join ',', @$columns; $sql .= "\n FROM $table_name"; $sql .= "\n ORDER BY " . join(',', 1 .. @$columns) if $is_ordered; print "$sql\n"; my $sth = $dbh->prepare_cached($sql) or die "Cannot prepare '$sql':\n" . $dbh->errstr; $sth->execute or die "Cannot execute '$sql':n" . $dbh->errstr; my $values = $sth->fetchall_arrayref; $sth->finish; return $values; }

------
We are the carpenters and bricklayers of the Information Age.

The idea is a little like C++ templates, except not quite so brain-meltingly complicated. -- TheDamian, Exegesis 6

Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.

Replies are listed 'Best First'.
Re: Re: Re: Re: DBI returning mysql columns in strange order.
by mpeppler (Vicar) on Oct 10, 2003 at 13:36 UTC
    That's certainly a valuable technique.

    Unfortunately this breaks down if you have low-level code that executes stored procedures. While the caller will (or should) know what result sets and columns will be coming back, the code that actually executes the proc won't.

    For example, I have a system that is table-driven where each database call is described by a small auto-loaded perl subroutine. The higher level code calls this subroutine with appropriate parameters, and then the low-level "execute this request" code runs and fetches all the data. Admittedly the low-level code doesn't have to know about the column names, but it still fetches that information (usually for debugging/trace purposes).

    Michael

    PS. I'm not disagreeing with you - just pointing out that (as usual) there are exceptions :-)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://298276]
help
Sections?
Information?
Find Nodes?
Leftovers?
    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.