歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> PERL編程 >> Linux環境下Perl語言對數據庫的操縱

Linux環境下Perl語言對數據庫的操縱

日期:2017/2/27 12:18:58   编辑:PERL編程

實例:同一主機下的運行
主機配置: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



注冊


用戶在線注冊




用戶名
密碼





login.htm



登錄


用戶在線登錄




用戶名
密碼





regist.pl #!/usr/bin/perl
# regist.pl

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

Copyright © Linux教程網 All Rights Reserved