AW: MySQL column_info() output order

AW: MySQL column_info() output order

am 07.05.2009 17:08:13 von Gisbert.Selke

Hallo Sebastian --

> -----Ursprüngliche Nachricht-----
> Von: Sebastian Reinhardt [mailto:snr@lmv-hartmannsdorf.de]=20
> Gesendet: Donnerstag, 7. Mai 2009 15:26
> To query an MYSQL- database, I have written a short CGI/Perl-=20
> Script. It is working well, except the naming of the result=20
> table! I try to fetch the column names from my database, to=20
> use it for the result table's head. I get the names, no=20
> problem so far, but these names are not in same order, as=20
> stored in the database!
>=20
> To fetch the names I use following code:
>=20
> --------------snip------------------
> my $sth =3D $dbh->column_info(undef,$d_base,$d_table,'%');
> my $col_info =3D $sth->fetchall_arrayref();
> $sth->finish();
> my $i =3D 0;
> foreach my $info(@$col_info)
> {
> $kat_info[$i]=3D@$info[3];
> $i++;
> }
> --------------snip------------------
Es ist einfacher ohne column_info() und funktioniert dann nicht nur =
für Tabellen, sondern für beliebige SELECts:
----------------------
my $sth =3D $dbh->prepare(qq(select * from some_table were foo=3D'bla')) =
or die "Yukk";
$sth->execute();
@kat_info =3D @{ $sth->{NAME_lc} };
# ... mach was mit @kat_info...
while (my $aryref =3D $sth->fetchrow_arrayref()) { ... }
----------------------

\Gisbert

--
MySQL Perl Mailing List
For list archives: http://lists.mysql.com/perl
To unsubscribe: http://lists.mysql.com/perl?unsub=3Dgcdmp-msql-mysql-modules @m.gmane.org

Re: AW: MySQL column_info() output order

am 07.05.2009 21:58:55 von Sebastian Reinhardt

Selke, Gisbert W. schrieb:
> Hallo Sebastian --
>
>
>> -----Ursprüngliche Nachricht-----
>> Von: Sebastian Reinhardt [mailto:snr@lmv-hartmannsdorf.de]
>> Gesendet: Donnerstag, 7. Mai 2009 15:26
>> To query an MYSQL- database, I have written a short CGI/Perl-
>> Script. It is working well, except the naming of the result
>> table! I try to fetch the column names from my database, to
>> use it for the result table's head. I get the names, no
>> problem so far, but these names are not in same order, as
>> stored in the database!
>>
>> To fetch the names I use following code:
>>
>> --------------snip------------------
>> my $sth = $dbh->column_info(undef,$d_base,$d_table,'%');
>> my $col_info = $sth->fetchall_arrayref();
>> $sth->finish();
>> my $i = 0;
>> foreach my $info(@$col_info)
>> {
>> $kat_info[$i]=@$info[3];
>> $i++;
>> }
>> --------------snip------------------
>>
> Es ist einfacher ohne column_info() und funktioniert dann nicht nur für Tabellen, sondern für beliebige SELECts:
> ----------------------
> my $sth = $dbh->prepare(qq(select * from some_table were foo='bla')) or die "Yukk";
> $sth->execute();
> @kat_info = @{ $sth->{NAME_lc} };
> # ... mach was mit @kat_info...
> while (my $aryref = $sth->fetchrow_arrayref()) { ... }
> ----------------------
>
> \Gisbert
>
>
Thanks!

Works great!

--

Sebastian Reinhardt



--
MySQL Perl Mailing List
For list archives: http://lists.mysql.com/perl
To unsubscribe: http://lists.mysql.com/perl?unsub=gcdmp-msql-mysql-modules@m .gmane.org