免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2149 | 回复: 8
打印 上一主题 下一主题

求助: perl+ mysql [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-29 16:33 |只看该作者 |倒序浏览
下面是代码, 这段代码的目的显示employee表中的内容,并且显示在web上.
环境是:Tomact + mysql + perl.
现在运行的情况: 可以命令行到得结果,但是在web端不能得不到employee表中的内容.


use DBI;
use CGI;
use CGI qw/:standard/;
my $cgi = new CGI;

print $cgi -> header,
   $cgi -> start_html ('perl connection mysql sample'),
   $cgi -> h1 ('perl connection mysql sample'),

   

my $dbh = DBI->connect ("DBI:mysql:mytest:localhost","root","123456")|| die "Could not connect to database: ". DBI-> errstr;
   my $sth = $dbh->prepare("SELECT * FROM employee");
   $sth->execute();
   my $results = $sth->fetchrow_hashref();
     #print "Found a row: id = $results->{'id'}, name = $results->{'name'},role = $results->{'role'},location = $results->{'location'},email = $results->{'email'},pohne = $results->{'phone'},\n";
   
   print $cgi -> table(
           $cgi -> Tr( $cgi -> td(['id',$results->{'id'}]) ),
           $cgi -> Tr( $cgi -> td(['name',$results->{'name'}]) ),
                 $cgi -> Tr( $cgi -> td(['role',$results->{'role'}]) ),
                 $cgi -> Tr( $cgi -> td(['location',$results->{'location'}]) ),
                 $cgi -> Tr( $cgi -> td(['email',$results->{'email'}]) ),
                 $cgi -> Tr( $cgi -> td(['phone',$results->{'phone'}]) ),

   );
   
   $sth->finish();
   # Disconnect from the database.
   $dbh->disconnect();

   print $cgi -> end_html;

[ 本帖最后由 Miketanbin 于 2008-10-9 13:41 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-08-29 17:03 |只看该作者
先建议加上use strict;

你看下apache的error_log里面有什么提示没有

表面上看是没啥问题

论坛徽章:
0
3 [报告]
发表于 2008-08-29 17:34 |只看该作者
楼上的是高手,按照他说的测试一下吧

论坛徽章:
0
4 [报告]
发表于 2008-08-29 18:04 |只看该作者
原帖由 gawk 于 2008-8-29 17:34 发表
楼上的是高手,按照他说的测试一下吧



我很菜的。。。。这里版主才是高手唉。

论坛徽章:
0
5 [报告]
发表于 2008-08-29 20:06 |只看该作者
这么长的代码看得头晕呀。

论坛徽章:
0
6 [报告]
发表于 2008-08-29 20:28 |只看该作者
这么谦虚

论坛徽章:
0
7 [报告]
发表于 2008-09-02 15:43 |只看该作者

回复 #2 xiaoyu9805119 的帖子

在log中有下面的错误信息:

信息: cgi: runCGI (stderr)BI connect('database=mytest:host=localhost','root',...) failed: Can't create TCP/IP socket (10091) at C:\Tomcat 5.5\webapps\proejctname\WEB-INF\cgi\mysqlconn.cgi line 11

是不是我的web cgi没有配置好. 我在命令可以得到结果.

论坛徽章:
0
8 [报告]
发表于 2008-09-02 17:26 |只看该作者

回复 #7 Miketanbin 的帖子

看样子是没连到数据库啊。你看下数据库DBD装的是否正确,数据库能否正常使用

论坛徽章:
0
9 [报告]
发表于 2008-09-03 10:29 |只看该作者

回复 #8 xiaoyu9805119 的帖子

我在命令行是可以取得数据库的数据. 这是为什么呢? 查看一下我的DBI,DBD-mysql都已经安装好了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP