實例:同一主機下的運行
主機配置: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
注冊
用戶在線注冊
用戶在線登錄
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s///g;
$value=~ s/]|\n)*>//g;
$value=~ s/>/>/g;
$value=~ s/fetchrow_arrayref))
{
$dbh->disconnect();
printdisconnect();
print