perl读MYSQL返回 一列或几列的处理

perl读MYSQL返回 一列或几列的处理

#while (@rec=$sth2->fetchrow_array()){
        #print join "\t",@rec,"\n";
        #}
可以正常打印出各行
请问,我想得到某一列或几列的数据,如何写
@rec是数组,你随意取其中索引值就是列了
是这样的,我想把某些列做为发送邮件的内容,要如何做
$rec[0]就是第一列,$rec[1]就是第二列内容。。。
在while外面不能直接引用,我试了
没办法,我用了笨方法,先写进一个文件,然后再mail出来了


QUOTE:
原帖由 bitterness 于 2008-12-24 16:39 发表
是这样的,我想把某些列做为发送邮件的内容,要如何做

根据@rec拼出邮件body

类似:

[Copy to clipboard] [ - ]
CODE:
$col=3;
while ( @rec=$sth2->fetchrow_array() ) {
      $body .= "$rec[$col]\t";
}
open(SENDMAIL, "|/usr/lib/sendmail -oi -t -odq")
                    or die "Can't fork for sendmail: $!\n";
                    print SENDMAIL <<"EOF";
From: User Originating Mail <root\@localhost>
To: Final Destination <postmaster\@localhost>
Subject: here is the subject
$body
EOF
close(SENDMAIL)     or warn "sendmail didn't close nicely";

不错,谢谢,
之前,我的问题在于,就是while之外,引用就是空的了,
如$rec[1]是空的


QUOTE:
原帖由 bitterness 于 2008-12-24 17:32 发表
不错,谢谢,
之前,我的问题在于,就是while之外,引用就是空的了,
如$rec[1]是空的

那是循环赋值的,在循环外只有一个记录的字段值了吧。
是的呀,我不知道要如何处理
我用的很笨的方法,在WHILE里把内容写进到FILE了
数据库的记录都是一行一行的,在循环外,你想$rec[1]得到什么值?
某一列的所有值?