文档库 最新最全的文档下载
当前位置:文档库 › PHP访问MYSQL数据库的实现_易竞

PHP访问MYSQL数据库的实现_易竞

第22卷 第3期2008年6月保险职业学院学报(双月刊)

J O U R N A LO FI N S U R A N C EP R O F E S S I O N A LC O L L E G E (B i m o n t h l y )V o l .22 N o .3

J u n . 2008

作者简介:易 竞,女,湖南长沙人,硕士,研究方向:计算机科学技术。

P H P 访问M Y S Q L 数据库的实现

易 竞

(保险职业学院,湖南长沙 410114)

[摘 要]作为最流行的网络服务器端脚本技术,P H P 以其开放、简单、移植性强、运行稳定快速的特点深受广大编程人员的爱好,本文主要介绍P H P 的优点和特点,结合实例阐述了P H P 访问M y S Q L 数据库的方法。

[关键词]P H P ;M y S Q L ;O D B C

[中图分类号]F 84 [文献标识码]A [文章编号]1673-1360(2008)03-0079-03

[A b s t r a c t ]A s o n e o f t h e m o s t p o p u l a r w e b s e r v e r -s i d e s c r i p t i n g t e c h n o l o g y ,P H P ,w i t h i t s o p e n ,s i m p l e ,s t r o n g t r a n s p l a n t a t i o n ,s t e a d y a n d r a p i d o p e r a t i o n ,i s l o v e d b y t h e p r o g r a m e r .T h i s p a p e r d e s c r i b e s t h e a d v a n t a g e s a n d f e a t u r e s o f P H P a n d e x p l a i n s t h e w a y P H Pt o v i s i t t h e M Y S Q L d a t a b a s e w i t h e x a m p l e s .

一、引言

I n t e r n e t 上流行的网站构架方式是L A M P (L i n u x +A p a c h e +M y S Q L +P H P ),即使用L i n u x 作为操作系统,A p a c h e 作为W e b 服务器,M y S Q L 作为数据库,P H P 作为服务器端脚本语言。由于这四个软件都是开放源码软件,使用这种方式可以完全免费的建立起一个稳定、免费的网站系统,因此L A M P 方式在I n t e r n e t 上得以广泛的应用。

那么采用L A M P 方式架构网站时如何使用P H P 来访问M y S Q L 数据库呢?

二、P H P 介绍

P H P :英文超级文本预处理语言(P H P :H y p e r -t e x t P r e p r o c e s s o r )的缩写,与A S P 、C G I 以及J a v a S -c r i p t 一样,都是现代网络技术中比较流行的脚本技术。P H P 最初于1994年由R a s m u s L e r d o r f 开发,最初的目的是用来提供访客留言及访客计数器等简单功能。随后,1995年推出的P H P 2.0中增加了对M Y S Q L 的支持,使W e b 服务器的构建更为简单实用,并由此奠定了P H P 在动态网页开发上的影响力,并迅速在I n t e r n e t 上流传开来。

P H P 与A S P 相比,两者都是在服务器端执行的嵌入H T M L 文档的脚本语言,共同的优点在于每一次修改脚本并不需要重新编译成执行文件就可以直接执行,省时省力。但两者的不同在于A S P 不具有跨平台开发能力,无法在I n t e r n e t 上的U n i x 平台下使用。

与同样是嵌入H T M L 文档的J a v a S c r i p t 脚本语言相比,P H P 在服务器端执行,能充分利用服务器的性能且P H P 执行引擎还会将用户经常访问的P H P 程序驻留在内存中,其他用户在一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,运行速度更快。

至于C G I 技术,它是外部扩展应用程序与w w w 服务器交互的一个标准接口,通常应用在跨平台的开发中,相较于A S P 和P H P 以及J a v a S c r i p ,C G I 脚本是“非嵌入式”服务器端脚本程序,也就是说每一次修改C G I 程序都必须重新将其编译成执行文件。C G I 的这种特性也就造成了C G I 程序的编写困难并且运行效率低。

综上所述,P H P 功能强大,所有的C G I 或者J a v a S c r i p t 的功能都能采用P H P 来实现。更难得的是作为一种跨平台脚本语言,P H P 支持几乎所有目

前流行的数据库以及操作系统。在P H P不断发展的过程中,随着新函数库的不断加入,使用P H P完成一个含有数据库功能的网页变得更加简单。

三、访问M y S Q L数据库

M y S Q L是一个小型关系型数据库管理系统,由瑞典M y S Q LA B公司开发。M y S Q L支持多线程、多用户,由于其体积小、速度快尤其是开放源码这一特点,使得许多中小型网站为节约成本而选择了M y S Q L作为网站数据库。

P H P实现对M y S Q L数据库的访问有两种方法:

1.通过O D B C连接

P H P通过O D B C可以连接几乎所有的数据库,主要用到四个函数:

1)O d b c c o n n e c t():链接至O D B C数据库。

语法:i n t o d b c c o n n e c t(s t r i n g d s n,s t r i n g u s e r,

s t r i n g p a s s w o r d);

返回值:整数

该函数用来链接到O D B C数据库,返回值为链接的代号I D值。参数d s n为资料来源名称,参数u s e r及p a s s w o r d分别为链接的帐号及密码。

2)O d b c d o():执行S Q L指令,主要用来在建立连接之后执行数据库查询。

语法:i n t o d b c d o(i n t c o n n e c t i o n i d,s t r i n g q u e r y);

返回值:整数

该函数用来执行S Q L的q u e r y指令。参数c o n n e c t i o n i d为O D B C连结代号I D值。参数q u e r y则为执行指令。返回值为R e s u l t I D值。

3)o d b c r e s u l t a l l:返回H T M L表格资料,主要用于取得当前记录行中某个字段的值。

语法:i n t o d b c r e s u l t a l l(i n t r e s u l t i d,s t r i n g [f o r m a t]);

返回值:整数

该函数用来将取得的资料转成H T M L的表格(t a b l e)格式。

4)o d b c f e t c h r o w:取得返回一列,用来把查询结果保存到数组,每个数组元素对应一条记录。

语法:i n t o d b c f e t c h r o w(i n t r e s u l t i d,i n t [r o w n u m b e r]);

返回值:整数

该函数用来取得Q u e r y的返回资料的一列。参数r e s u l t i d为O D B C返回I D值。参数r o w n u m-

b e r可省略,为指定的取得列(r o w)。

2.利用P H P的数据库函数连接

除了通过通用的O D B C方式访问M Y S Q L数据库外,1995年中,P H P2.0发布时定名为P H P/F I (F o r mI n t e r p r e t e r),P H P/F I加入了对M y S Q L的支持,提供了四个数据库函数用来和M y S Q L数据库连接,分别是:

1)m y s q l c o n n e c t():建立与M y S Q L服务器的连接。

语法:r e s o u r c e m y s q l c o n n e c t([s t r i n g$s e r v-e r[,s t r i n g$u s e r n a m e[,s t r i n g$p a s s w o r d[, b o o l$n e w l i n k[,i n t$c l i e n t f l a g s]]]]]);

该函数用于建立与M y S Q L服务器的连接。其中参数s e r v e r为M y S Q L服务器名称或端口号;参数u s e r n a m e为用户名,默认值是服务器进程所有者的用户名;参数p a s s w o r d即密码,默认值为空。

2)m y s q l s e l e c t d b():选择M y S Q L服务器中要使用的数据库。

语法:m y s q l i s e l e c t d b(m y s q l i$l i n k,s t r i n g $d b n a m e)

该函数的参数l i n k为m y s q l i c o n n e c t()或m y s q l i i n i t返回的链接标识符;参数d b n a m e为访问的数据库名称。

3)m y s q l q u e r y():根据查询语句执行相关查询。

语法:m y s q l i q u e r y(m y s q l i$l i n k,s t r i n g $q u e r y)

该函数中l i n k参数含义同上;参数q u e r y为S Q L查询语句。

4)m y s q l f e t c h r o w():用来将查询结果r e s u l t 单行移到数组变量中,即取得查询结果的一列。

语法:m y s q l i f e t c h r o w(m y s q l i r e s u l t$r e s u l t)

该函数中仅有的参数r e s u l t为m y s q l i q u e r y ()或m y s q l i s t o r e r e s u l t()或m y s q l i u s e r e s u l t()的返回值。

就上述两种访问M Y S Q L的方法而言,通过O D B C访问的方式,P H P可以访问几乎任何数据库,但操作所需时间比P H P直接调用自己的数据库函数存取M y S Q L长。

下面我们将通过一个实例来看看以上几个函数的具体应用。

80保险职业学院学报(双月刊) 2008年第3期

四、一个应用实例

利用P H P访问由M y S Q L构建的数字图书馆数据库并查询图书信息。首先建立数据库L a b及数据表b o o k s。建表S Q L语句如下:

C r e a t t a b l e b o o k s(

b o o k n o v a r

c h a r(10)n o t n u l l,

b o o l t i t l e(20)n o t n u l l,

b o o k a u t h o r n a m e(10),

b o o k p u b l i s h e r v a r

c h a r(10),

P r i m a r y K e y(b o o k n o)

);

1.通过P H P的数据库函数访问M y S Q L的代码如下:

〈?p h p

p r i n t(“〈h t m l〉〈h e a d〉 n”?);

p r i n t(“〈t i t l e〉图书查询〈/t i t l e〉〈/h e a d〉n”?);

p r i n t(“〈b o d y〉〈c e n n t e r〉”);

p r i n t(“〈f o n t s i z e=6c o l o r=f f E E00〉图书信息如下〈/f o n t〉”);

$c o m m=m y s q l c o n n e c t(“l o c a l h o s t”,“r o o t”,“”);

m y s q l s e l e c t d b(“b o o k s”,$c o m m);

$s t r=“S e l e c t*F r o m b o o k s W h e r e b o o k n o ='$p b o o k s n o'”;

$r e a u l t=m y s q l q u e r y($s t r,$c o m m);

p r i n t(“〈t a b l e a l i g n=c e n t e r〉”);

$s q l r o w=m y s q l f e t c h r o w($r e s u l t));

p r i n t(“图书编号:$s q l r o w[0]”);

p r i n t(“图书名称:$s q l r o w[1]”);

p r i n t(“作者姓名:$s q l r o w[2]”);

p r i n t(“出版社:$s q l r o w[3]”);

p r i n t(“〈/t a b l e〉〈b o d y.〈/h t m l〉”);

?〉

……

2.通过O D B C访问M y S Q L数据库的代码如下:

〈?p h p

p r i n t(“〈h t m l〉〈h e a d〉 n”);

p r i n t(“〈t i t l e〉图书查询〈/t i t l e〉〈/h e a d〉 n”);

p r i n t(“〈b o d y〉〈c e n n t e r〉”);

p r i n t(“〈f o n t s i z e=6c o l o r=f f E E00〉图书信息如下〈/f o n t〉”);

$c o m m=o d b c c o n n e c t(“b o o k s”,“s y s t e m”,“”);

$s t r=“S e l e c t*F r o m b o o k s W h e r e b o o k n o ='$p b o o k n o'o r b o o k t i t l e='$p b o o k t i t l e'”;

$r e s u l t=o d b c d o($c o m m,$s t r);

w h i l e(o d b c f e t c h r o w($r e s u l t))

{

$p b o o k n o=o d b c r e s u l t($r e s u l t,“b o o k n o”);

$p b o o k t i t l e=o d b c r e s u l t($r e s u l t,“b o o k t i t l e”);

$p b o o k a u t h o r=o d b c r e s u l t($r e s u l t,“b o o k a u t h o r”);

$p b o o k p u b l i s h e r=o d b c r e s u l t($r e s u l t,“b o o k p u b l i s h e r”);

p r i n t(“图书编号:$b o o k n o”);

p r i n t(“图书名称:$p b o o k t i t l e”);

p r i n t(“作者姓名:$p b o o k a u t h o r”);

p r i n t(“出版社:$p b o o k p u b l i s h e r”);

}

?〉

……

五、结束语

对于W e d服务器端的开发,P H P是一种简单、高效的动态脚本编程语言。特别是P H P和M y S Q L 的开放性也使得利用P H P和M y S Q L开发动态W e b站点时,无论什么要求都可以免费得到满足,且不管使用的操作系统是什么。基于此,P H P从推出以来,使用它来搭建L A M P架构的用户数量呈指数级增长。P H P目前已经超过A S P成为今天使用的最流行的脚本语言,并作为A p a c h e必需的模块得到广泛的应用。

[参考文献]

[1]陈孟建.M y S Q L-P H P数据库应用开发指南.电子工业出版社

[2]蒋宇清.P H P&M y S Q L商业网站架设实务.中国铁道出版社

(责任编辑:王碧华)

81

2008年第3期(总第118期) 易 竞:P H P访问M Y S Q L数据库的实现

相关文档
相关文档 最新文档