admin 管理员组文章数量: 1087135
2024年4月23日发(作者:视频格式转换)
维普资讯
RU1)lM N rS p&A
基于PHP4访问Web数据库的方法
李丽萍
摘要
魏权利
论述了PHP4技术工作原理及PHP4程序的编程特点 并着重讨论了PHP4访问几种数据库的方法,在此基础上给出
了用PHP4实现对Web数据库访问的应用实例。
Web数据库,数据库函数,PHP4脚本
Apache服务器的配置主要由位于Apache安装目录conf子
关键词
一
、
刖吾
在Internet/Intranet网页上随处可见留言板、讨论组、网
目录下的httpd.conf文件完成,它配置和保存了Web服务器基
本的属性、端口(port)号、安装Apache服务器的计算机的
IP地址,系统发布的HTML文件的存放路径等,要使Apache
能够解释PHP4脚本需在httpd.conf文件中添加以下命令:
ScriptAlias/PHP;b3/ d,/PHP;b3,/ AddType application,
X—httpd—PHP php4
Action application/X—httpd—PHP /PHP4b3/PHP exe
上点歌、网上调查、聊天室等功能模块,这些Web应用程序
可以使用PHP4与数据库技术结合而实现。PHP4是一种服务
器端嵌入式语言,且源代码开放.它可以通过各种不同的方法
连接和访问包括MS—Access、Mysql、MS—SQLServer在内的
大部分数据库。各种方法都有其独特之处,本文针对这些方法
具体的实现过程进行讨论和比较。
其中:PHP4脚本程序可以.php4为后缀,/PHP4b3/为
安装PHP4的目录,这些配置命令都区分大小写。
在Windows 98+PWS下配置PHP4,首先要在Windows 98
二、PHP4工作原理
1.PHP4工作过程及其运行环境的建立
PHP4程序工作在Web服务器端,浏览器向服务器发出
上正确安装PWS,完成配置,要使PWS能够解释PHP4脚本需
在系统注册表文件中添加以下命令:运行注册表编辑器
REGEDIT。
HTI'P请求,请求一个 .php4文件,Web服务器响应该请求并
解释执行该文件,若该文件中含有访问数据库的请求,则依据请
求访问数据库的类型,通过相应的连接访问方法连接后台数据
f HEKY L0CAL MACHINE\SYSTEM\CurrentCOntrOfSet\Se r-
vices\w3svc\pa ramete rs\Sc ript Map】
php4 = C:\PHP4b3\php4isapi dl l
库并通过执行SQL语句进行对数据库的操作,之后,Web服务
器依据访问数据库的结果自动生成标准的HTML页面发送给客
户浏览器。如图1所示:
其中:c:\PHP4b3\为php4isapi.dll文件所在的完整路径:
在Windows NT+IIS下配置PHP4,正确安装Windows NT组
件IIS,选择Web服务器站点属性窗口选择“ISAPI筛选
器”,增加一个新的筛选器,并指出php4isapi.d11文件所在的
客
P盱嵌入脚奉程序
群
一
完整路径(例如c:\PHP4b3\),后切换到主目录选项,增加
个应用程序映射,可执行文件路径为php4isapi.dll文件所在
的完整路径,扩展名为.PHP,并选中“脚本弓I擎”复选框。
2.PHP4文件及嵌入方法
图1 PHP4工作过程
PHP4编写的代码不用修改就可以在不同的操作系统下和
不同的Web服务器上运行。如Unix、Linux平台上的Apache
服务器和微软Windows平台上的Apache服务器、IIS(Internet
信息服务)、PWS(Personal Web Server)。为了使各种Web
服务器能够解释PHP4脚本,需要进行相应的配置。
运行环境的建立:安装PHP4:从PHP4官方站点(http://
www.PHP.net)下载PHP4压缩软件,并解压安装,将
PHP4.ini放置到指定目录Linux/usr/local/lib/下或Win—
dows 98 c:\windowsiT。合理配置PHP4.ini文件,使PHP4能
PHP4文件是嵌入可执行脚本的HTML文档,以.PHP4为
扩展名。一个PHP4文件主要包括:HTML文件标记、服务器
端脚本、和客户端脚本。从语法上看,PHP4具有C语言的语
法特征,提供大量非常有用的函数库。用任何无格式的文本
编辑器编写,可以混合编写PHP4代码和HTML代码,将
PHP4脚本嵌入到HTML文件中.采用以下的几种方法:
<7
二
3
<7PHP 7>
</sc ript> <script language=PHP>
<% %>
够支持各种数据库的函数库。
另外,PHP4服务器端的”include”、 “require”函数允
维普资讯
RUDIMENTS P&A
许在PHP4文件的某处引入另一PHP4文件的内容作为该文件
的一部分,但这两种引用方式提供不同的使用特性
“
主 … SQL 手 青j一
¥resule=mysqi ̄ue ry f¥q Lle ryj 建二 琚r主 青_『
require”函数通常放在PHP4程序的最前面,当PHP4程序
phptest 握手i.
¥que ry =
/
.
¥que ry=INSERT INTO php test(name.phone numbe r age J ,
VALUES(Llvvei,4567801,20)
执行时,先渎入“require”所指定引入的文件内容作为该
PHP4程序的一部分.省去了’在许多页面编写相同段落的重复
工作。include()函数一般放在流程控制的处理中 当解释
PHP4程序时,执行到include()函数才会将指定的文件内容引
入,可以使程序执行时的流程简单化
,
¥resule=mysql ̄ue ry f Sque ry)
;≤ 据
¥que ry=select×f rom php_test
/专E 亍 口 据自 青卞
主 SOL亘 专市
童
pt]p
test i1,据辛
¥result=mysq1
que ry(¥qae ry,¥connect)
据日]情下
while(Srow=mysqlfetcha r ray(¥result))
三、利用PHP4存取访问各种常用的数据库
PHP4可访问、存取目前大多数数据库,并对每一种数据
mysql fetch a r ray函数近回长瑁数据
(
echo Srow【 name 】
echo Srow【 age 】
echo Srow【 ID 】
}
<BR> :
<BR>
库都提供了一组支持函数,对它们进行存取控制,由于PHP4
对每一种数据库的操作方式基本类似,其中的Mysql、Mi—
crosoft Access、SQL Server、是实践中最为常用、最有代表性
的数据库函数,本文通过对这几种数据库的操作,介绍PHP
访问数据库的方法。
1.访问Mysql数据库
Mysql数据库功能强大,支持多种操作系统平台,可以跨
平台开发和运行,提供多种数据类型,同时访问数据库的用户
数量不受限制。用户权限设置简单、有效,可以保存超过5O,
echo S row【 phone ̄umbe r 】
<BR>:
<BR> :
2.访问Microsoft Access数据库
ODBC(Open Database Connectivity)为用户提供了采用同一
方法访问不同数据库的接口。应用程序可以通过ODBC所提供
的对各种数据库的驱动程序接口,采用SQL语言存取各种不
同的数据库信息。使用ODBC开发数据库应用程序时,应用程
序调用的是标准的ODBC函数和SQL语句,数据库的低层操
作由各个数据库的驱动程序完成。所以这样的数据库应用程序
具有良好的适应性和可移植性,并且具有访问多种数据库的能
力,从而彻底克服了传统数据库应用程序的缺陷。
ODBC数据源的建立。通过在“控制面板”里选择“32位
ODBC”,进入ODBC数据源管理器,根据向导提示完成。
访问Microsoft Access数据库时,选择Microsoft Access
Driver为驱动程序,为Access数据库“php3est”建立名为
“
000,000条记录,支持标准的ANSI SQL语句,是目前基于u.
NIX、Linux系统开发Web应用程序中很热门的数据库系统。
在MySQL数据库中,用于保存数据记录的结构被称为数
据表。而每一条数据记录则是由更小的数据对象,即数据类型
组成。由于提供了丰富的数据类型,可以方便数据库的设计人
员创建最理想的数据结构。
PHP4提供了用于访问MySQL数据库的函数库,使用这些
函数可以完成数据库服务器的连接,数据库的建立,数据表的生
成,以及对数据的插入、查询等操作,使用方法见以下的PHP4
程序,该程序在Win98+APACEH+MYSQL环境下调试运行良
好。
<,
php
source”的数据源,在PHP4程序中使用ODBC数据库
_
连接函数连接数据源,并对该数据源的信息进行查询和增删操
作,但不能改变数据库的结构。对数据库的查询、添加记录见
以下的PHP4程序,该程序在Win98+APACEH+ACCESS环境
下调试运行成功。
<7
//连接到数据库耶与器
¥connect=mysqLconnect( IocaIhost ,…,…):
//mysql connect是建立胙哥器连接函数,需指明孵专器若,
/用ODBC数据厍链接函数厍函数完 数据厍的查
¥connect=odbc_connect( phpsou rce ,
//“odbc
connect”函数建二与数据原的连接
_
尸 口专,Iocalhost是本地眼_弓器.用尸j口专停用默认1亘
//建立各 myfi rstdata 数据厍
mysql c reate db(”myfi rstdata ,¥connect):
, ),
¥query= select name age phone#umbe r fr0m php test.
//mysql c reate db是建立数据库函数
/选择各 myf irstdata 数据库
mysqI
select db( myfi rstdata ) //mysqI
select db是选
_
/主 一_ SOL查间1青卞
¥result=odbcd0(¥connect,¥que ry):/Y/“odbc do” 同
长据厍置1三指定的SOL话卞
while(odbc_fetch
row(¥result)) //“odbc_fetch row’j喜_
_
择数据库函数
//建立若 php test 数据表
¥que ry=
_
芎 名早中的一厅的数据,耳l二指针后杉一[
(
¥name=odbcGesuIt(¥result,1):
CREATE TABLE php_test(name VARCHAR(1 5)
phone
numbe r}NT(8),age INT(3) ID INT(4)NOT NULL
AUT0}NCREMENT,PRIMARY KEY(ID)):
/“odbcjesult’’函 j#耵兰| .彳中一. 宇除 I直
维普资讯
¥age:odbc resuIt(¥reSUIt,2):
¥phone_numbe r=odbc resuIt(¥resuIt 3),
一mssqi select db尤选择 据库匹美
php ̄est 长据表 据
,
echo ¥name:Sage¥phone_numbe r<b r>_l//同 览器
¥que ry: INSERT lNTO php
 ̄est(name phone numbe r,age),
_
输出查询结果
)
odbc
closef¥connect),
¥query = VALUES( Llwef 4567801 . 20 ) :
:i : ¥result=mssql que ry(¥que ry,¥connect),///
/,/“odbc dose”函数用于手闱
用odbcconnect函数连接 长据
//用ODBC数据库链接函数厍函
据自 请卞
/
php test 数据表
, 一
握
_
数据厍的插 、
):
¥aue ry= select
_
from php
test
¥connect:odbc connect( php.
sou rce
¥result=mysqlque ry( ¥que ry,¥connect),
wh1le(Stow=mssql fetch ̄rray(¥resuIt))
{
echo Srow【n8me 】
echo¥row[ age】
echo Srowf ID】
1 7>
//“odbc pconnect”己羚遑二与喜了据 的
¥que ry
连接
¥que ry= inse rt into phpAest(name age phone numbe r):
= vaIues(王刚, 28 , 1 234567) :
<BR>
<BR>
<BR>,
//生成一个SQL查询请卞
¥result=odbc do(¥connect Sque ry):
//“odbc
do”函数向 据库支 岿定 h SOL请]_
_
echo Srow( phone_number j
<BR>,
if(¥result)
{echo 仃的记录已成
eIse
,^、数据厍l :)
4.用PHP访问Web数据库的实例
利用PHP4脚本技术,以MySQL为后台数据库,结合
HTML语占和JavaScript脚本语言,在Win98+PWS+Mysql
{echo 操作圭吱! :)7>
3.访问SQL Server数据库
SQL SERVER是运行在Windows NT Server上的一个功能
平台上设计开发了音乐歌曲在线点播系统,该系统具备歌曲的
数据库查询、添加、删除,在线播放与下载,歌曲排行榜等功
能,具有歌曲在线播放不占用点播者硬盘空间的特点。后迁移
到Linux+Apache+Mysql环境运行正常。
(1)数据库的设计
强大的关系型的数据库管理系统,由于其与Windows NT Server
紧密的集成,使SQL SERVER的处理速度有保证,也更加易
于使用。所以,IIS+SQL SERVER+PHP4是使用PHP开发运
行在Windows操作系统平台上的大型Web数据库管理系统的
最好选择。基于PHP访问SQL Sever数据库有两种方法。r
(1)使用ODBC数据库函数库访问
使用ODBC数据源管理器,根据向导提示,选择“SQL
Server”为驱动程序,需要给出数据源名,所连接的数据库服
使用mysql create db函数建立数据库“music”,在该数据
库中建立数据表格“songs”,此表用来存储网站内所有的歌
曲的信息,字段包括歌曲的歌手名(Singer).歌手分类
(type),歌曲名(Name).歌曲名不空且是主关键字,歌曲
所属的专辑名(DiscName),点击数(nun),歌曲所在的文
件路径(URL),歌曲存放在Web服务器发布目录下songs子
目录。
务器名,选择用户帐户的验证模式和默认数据库等。PHP4脚
本程序的编写与访问ACCESS数据库完全相同。
(2)使用SQL Server数据库函数库访问
与MYSQL相同,PHP4也提供了一个与SQL Severr连接
(2)歌曲的添加与删除
的函数库来完成对SQL Server数据库的操作,使这些函数完成
的操作包括建立和关闭数据库的连接,以及对数据的插入、查
询等操作。使用PHP4访问SQL Server数据库之前,首先要
在Server数据库服务器上使用企业管理器建立名为
“
添加歌曲是以一个传辑为单位,一次可至多添加二十首歌
曲,每次添加的歌曲必须处于同一个目录下。用addsongs.php
程序接受添加歌曲各字段的输入,设置表单提交后由addto—
db.php程序处理,并将表单的传送方法设置为“post”=ad—
dto—db.php程序完成歌曲的添加一
删除歌曲能够删除一首歌曲或是一个传辑的所有歌曲:当
需要删除一个专辑时,在歌名的text field为空.并且必须填写
歌手名 程序delsongs.php接受删除歌曲各字段的输入后.把
myfirstdata”的数据库和“phptest”数据表,然后编写PHP4
脚本程序访问数据库.使用方法见以下的PHP4程序,该程序
在Windows2000 SERVER+IIS+SQLSERVER7.0环境下调试
运行成功。
<
所有的数据提交给程序delfrom—db.php完成删除处理、
(3)歌曲在线点播与下载功能的设计
):
//连接到SOL Se rve r数据巨 ,;毒
¥connect=mssql connectf]nfo1 95,…,
主界面显示“大陆歌手”。 “港台歌手”, “欧美歌手“
选项,选择歌手分类并发送到数据库查询与此相匹配 歌手.
在屏幕j.显示查询歌手的列表,点击歌手列表后,根据歌手姓
(下转第41页)
//mssq/connect是建二脏号器连接函 需指日目 暑器若 毛
芦 口令,info1 95是羚据厍胙专器若.用尸j口÷尊甲 1I'值
//选择若 myfi rstdata数据厍
mssql select db( myfi rstdata ,¥connect):
维普资讯
国 LA】
S
i
fs
CS
k
节点序号,该序号是指节点数组中的序号
节点深度
父节点序号,该序号是指节点数组中的序号
当前节点序号,该序号是指节点数组中的序号
I级深度中父节点fs T的已有节点数
fs 父节点序号,该序号是指节点数组中的序号
变量说明
n
P
整型教组下标序号
整型符合条件的节点教
Dim S,I,fs,CS,k As Integer
S=O:I=O‘fs=0:CS=0
DIm n.P As Integer
P=0
初始化节点数组
ReDIm DirTree(0)
For n:1 T0 UBound(DI rTree)
If DirTree(n)intParent=fs Then P=P+1
Next n
With DirTree(0)
.
intlndex=0
intChild Index=1
intDeep=0
intParent=0
intChildCount=P
End Function
.
Private Sub Drive1 Change()
Dirl Path=Drive1
End SLJb
strName:Dir1.Path
End With
1 0 i=j+1
第四步:运行该程序,可在Visual Basic的“立即”窗口
中看到目录数组的输出结果。
20 Dir1.Path=DirTree(CS)strName
k=intChIIdC0unt(fs)
If Dir1.List(k)=~Then
i=i一1
以上代码在Windwos 98/Me/NT/2000下,使用Microsoft
Visual Basic 6.0中/英文版测试通过。
If I=0 Then Exit Sub
fs=DirTree(CS)intParent
CS=fs
参考文献
1.Microsoft.MSDN Library Visual Studio 6.0版.1998
GoTo 20
EIse
S=S+1
2.王立柱.C/C++与数据结构.清华大学出版社,
2002.4
ReDim Preserve DirTree(S)
(收稿日期:2002年9月25日)
With DirTree(S)
.
intChildIndex=k
intDeep=i
(上接第34页)
名到数据库中查询后,显示相应歌手的所有歌曲的列表,并
intParent=DirTree(CS)intlndex
.
strName=Dir1.List(k)
intlndex:S
且这些歌曲都按照专辑排列,每个歌曲列表之后,显示歌曲
End With
CS=S
的点击数、点播按钮、下载按钮。程序play.php完成播放、
下载及歌曲的点击数加一。歌曲的播放通过调用“Header”函
数,通知浏览器输出的路径文件是多媒体文件,将这些歌曲
的路径输出就可实现歌曲的自动播放。下载通过使用pfinff函
数,META元信息通知浏览器输出歌曲所在的路径,并显示下
载对话框,下载歌曲。
fs:CS
GoTo 1O
End If
End Sub
Private Function intChildCount(ByVal fs As I nteger)As I nte—
ger
:# ¥ {{ ¥{ 术 丰丰¥ 半半丰{
四、结束语
随着Internet/Intranet技术的发展,Web应用程序的开发
子节点教 计函数1 0 Child Nodes Count 1 0
I乍者:冼波 Author:Bo Shen
版权所有(C)冼波2002年5月
Copyright(C)Bo Shen May,2002
领域越加广阔,数据库技术与Web技术相结合,才有更为广
阔的前景,在编写PHP4脚本程序时,只要正确使用相关的数
据库函数,就可方便地完成对数据库的操作。通过开发音乐歌
曲在线点播系统,更加说明利用PHP技术进行Web程序设
计,网上访问数据库,简单易行,开发效率高,是开发Web
应用程序的最好选择。
(收稿日期:2002年9月21日)
功能介绍
计算树中父节点序号力fs的节点的子节点数运行结果,返
回树中父节点序号为fs的节点中的第一级子节点数.
参数说明
版权声明:本文标题:基于PHP4访问Web数据库的方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1713846202a654241.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论