![]() 实例:同一主机下的运行 主机配置:PIII450 128M 15GB 操作系统:Red Hat Linux 6.1 数据库:MySQL-3.22.29 建议使用RPM方式安装,至少要安装下面三个包: MySQL-3.22.29-1.i386.rpm MySQL-client-3.22.29-1.i386.rpm MySQL-devel-3.22.29-1.i386.rpm WWW服务器:Apache 1.3.6 for Linux Perl 解释器:version 5.005_03 built for i386-linux DBI: 版本为:1.13 Data-ShowTable: 版本为:3.3 DBD: Msql-Mysql-modules-1.2018 本人成功地在上述环境下实现了对MySQL数据库的访问。和Windows环境下的数据库不同,他无需建立外部数据源. 下面是个应用的简单例子: 为了统计用户访问我们的网站的次数,我们建立了一个数据库, 在其中建一个表,表名为:usedata, 共有三列:userno,userpass,lognum,分别代表用户名,密码,登录次数. 假定我们使用test数据库,在该库中创建表usedata, 我们既能够编一个PERL程式实现,也能够在命令行方式下实现: #mysql test >CREATE TABLE usedata(userno CHAR(8) NOT NULL, usepass CHAR(8) NOT NULL, lognum INT); >exit 共有两个htm文档,两个pl文档. regist.htm content="text/html; charset=gb_2312-80"> login.htm content="text/html; charset=gb_2312-80"> regist.pl #!/usr/bin/perl # regist.pl read(STDIN, $buffer, $ENV{’CONTENT_LENGTH’}); print "Content-type: text/html\n\n"; print " print " \n";
返回前页修改 EOF exit(0); } if ($FORM{’PASS’} eq "") 返回前页修改 EOF exit(0); } $host= shift || ""; use DBI; $|= 1; # Autoflush $table="usedata"; $dbh = DBI->connect("DBI:mysql:$test_db:$host",$opt_user,$opt_password) || die "Can’t connect: $DBI::errstr\n"; $n1 = $FORM{’IDNO’}; $sth=$dbh->prepare("select * from usedata where userno=$n1 ") or die $dbh->errstr; $sth->execute() or die $sth->errstr; if (($row = $sth->fetchrow_arrayref)) 返回前页修改 EOF exit(0); } $n2 = $FORM{’PASS’}; $n3 = 1; $dbh->do("insert into $table values($n1, $n2,$n3)") or die $DBI::errstr; $dbh->disconnect(); EOF exit(0); login.pl #!/usr/bin/perl read(STDIN, $buffer, $ENV{’CONTENT_LENGTH’}); print "Content-type: text/html\n\n"; print " print " \n";
返回前页修改 EOF exit(0); } if ($FORM{’PASS’} eq "") 返回前页修改 EOF exit(0); } $host= shift || ""; $table="usedata"; $dbh = DBI->connect("DBI:mysql:$test_db:$host",$opt_user,$opt_password) || die "Can’t connect: $DBI::errstr\n"; $n1 = $FORM{’IDNO’}; $sth->execute() or die $sth->errstr; EOF } else { print< 返回前页修改 EOF } } else { print< 返回前页修改 EOF } $dbh->disconnect(); print < EOF exit(0); |
喜欢本文,那就收藏到: |