资源描述
基于PHP/MYSQL技术的学校网站建设
目 录
前 言 3
第一章 网站建设技术理论 4
1.1静态网站与动态网站 4
1.1.1 静态HTML 4
1.1.2动态网页技术与静态网页技术 5
1.2学校网站建设的定位 5
第二章 网站建设技术分析 7
2.1网站建设系统设计的需求分析 7
2.1.1设计的需求分析 7
2.1.2各种设计方案的比较 7
2.1.3确定设计方案 7
2.2平台的安装与配置 8
2.2.1 在Windows2000环境下安装与配置服务器 8
2.2.2在Windows2000环境下安装和配置PHP4.2.3 8
2.2.3在Windows2000环境下安装和配置MySQL 9
2.3 PHP技术介绍 9
2.3.1 PHP语言简介 9
2.3.2 PHP的特点 10
2.3.3客户端GUI应用 11
2.4 MySQL数据库介绍 13
2.4.1 MySQL简介 13
2.4.2 连接和断开数据库 14
2.4.3 MySQL数据库数据的查找﹑插入 14
2.5PHP与MySQL的交互 15
2.5.1 连接管理函数 15
2.5.2 选择数据库函数 16
2.5.3 构造查询函数 16
2.5.4 结果集处理函数 17
2.5.5 PHP中的会话(session) 17
2.6 XML技术应用 18
第三章 网站建设的总体设计 19
3.1学校网站建设的步骤 19
3.2学校网站的前台页面设计 19
3.2.1页面设计布局 19
3.2.2网站页面设计的实现 21
3.3网站后台管理的总体设计 21
3.3.1后台管理的系统流程图 22
3.3.2 设计系统文件首要规划 22
第四章 动态网站建设的技术实现 23
4.1数据库设计 23
4.1.1创建数据库 23
4.1.2 创建表 23
4.2 前台动态网页生成的具体实现 24
4.3 后台模块功能的具体实现 26
4.3.1 后台管理模块的登录 26
4.3.2设计管理员管理 26
4.3.3设计文件管理 29
4.3.4新闻发布模块 31
第五章 网站建设测试说明 32
5.1 网站设计测试方法 32
5.2网站设计需要改进的地方 32
5.2.1服务器选取 32
5.2.2在网站设计中涉及到的数据库安全问题 32
第六章 总结与展望 33
6.1网站设计的总结与技巧 33
6.1.1文字和图片的定位 33
6.1.2链接的正确性 33
6.1.3站点设计技巧 33
6.2 结 束 语 34
6.3 致 谢 35
第七章 参考文献 36
Abstract 37
前 言
Internet是一个全球性的网络集合,目前的网络用户数以亿计。计算机网络的应用领域更是在飞速发展,深入到人们生活的各个角落。
随着网络技术的成熟与飞速发展, 万维网(WorldWide Web) 上的信息资源正在以前所未有的速度增长,各种各样的网站如雨后春笋般地涌现出来。然而随着信息资源的迅速增长,有越来越多信息资源需要放到网上供大家共享。
面对如此庞大的信息资源,如何高效地对这些信息进行组织,如何提高网页的浏览速度,如何提高搜索引擎的搜索性能,以及如何对这个庞大的信息库进行维护是我们不得不面对的一个重要问题。在建立网站时传统的做法是以网页为基本单位对信息进行组织。对于做过网站开发的人员,相信对制作大量网页的单调重复的工作都深有体会。
本设计者通过对大量的学校网站进行调查,发现在一个网站中的页面上存在许多共同的信息,各个网页的内容可以调用数据库中的记录,来动态生成页面,这样既保持网站的风格一致性,使网站维护变得更加简单。
第一章 网站建设技术理论
1.1静态网站与动态网站
1.1.1 静态HTML
最基本的web页面类型是完全以HTML编写的纯静态的,基于文本的页面。如图1-1所示,当客户计算机通过Web或局域网向服务器做出对某个页面的HTTP请求时,服务器只是把从文件中找到的文本传递过来。当该数据返回到客户机,浏览器按照自己对代码内容的精确理解、用户的首选设置、显示器大小以及其他因素做出最佳处理。服务器上HTML文件的内容与客户机上页面的源代码完全相同。
图1-1 简单的HTTP请求
HTML文档
Internet
www.mysite.org/page.html的
HTTP请求
Web服务器(处理mysite.org) Web服务器文件系统
/home/httpd/mysite
page.html
<HTML><HEAD>
<TITLE>This page’s title</
TITLE>…
用户的机器
在浏览器上显示
像这样的非常普通的静态HTML具有某种优势:
◆任何浏览器都有能力显示它。
◆许多种设备都有能力显示它。
◆它执行每个请求都很迅速,并且使用了最少的资源。
◆HTML易于学习或自动生成。
◆能够迅速对每个页面做出小改动。
当然,静态HTML也有不利的一面,包括下面这些方面:
◆难于控制设计和布局。
◆规模可伸缩性不够好。
◆交互性不够好。
◆难于包括关于页面的有意义的元数据(metadata)。
◆不能应付内容或个性化信息的迅速改变。
◆不是很具有吸引力。
由于所有这些原因,静态HTML迅速成为业余水平的标志。
针对这些限制,目前已经发展了很多种其他技术,其中包括客户端的JavaScript、Cascading Style Sheet(层叠式式样表)和Java小程序,还包括带服务器端数据库连接的服务器端ASP、PHP等技术的脚本编制。正在发展中的技术包括XML和XSL,这两种技术都是作为其他各种规范(XHTML、XSLT、Xpath、ICE等)的以部分出现的。
1.1.2动态网页技术与静态网页技术
通俗的讲,静态网站就象一本书,没有装入网站应具备的关键功能------数据库,使其内容一成不变,只能看不能动态参与.而动态网站就象一台电脑,不但生动活泼,而且所有资料均可随意更新,修改.拥有新闻及信息发布/会员管理/产品订购/BBS论坛/留言板等多种功能.
纯粹HTML格式的网页通常被称为“静态网页”,早期的网站一般都是静态网页,但由于静态网页没有数据库的支持,会增加很大工作量,而且由于缺乏交互功能,因此当网站有大量信息以及功能较多时,完全依靠静态网页是无法实现的,于是动态网页就成为网站维护的必然要求,但是由于大量动态网页的存在,也造成了一定的问题,有些全动态网页的网站会失去很多被用户发现的机会。
因此,我们建设网站要做到动静结合,建设有特色的、优秀的学校网站。
注:动态网站建设的相关知识探讨在附录的读书报告中阐述。
1.2学校网站建设的定位
一个优秀的学校网站,可以从以下几个方面来评判:
(1)、主页设计——能反映该学校的建设、发展、历史和文化,充分发挥信息技术的应用优势;
(2)、栏目构架——结构完整、科学合理、逻辑关系清晰,便于用户了解网站的全面内容和操作使用;
(3)、内容质量——内容要丰富、生动,文章图片等要规范、真实、科学,网站包括各种专题子站点;
(4)、多媒体技术的使用——能有效地运用动画、视频、音频等多媒体技术;
(5)、美术效果——网页设计美观大方,形式效果与内容相符,制作精美,有本校的风格特色,易于识别;
(6)、信息管理——信息更新要快,便于用户能得到最新、最准确的信息,运用数据库文件管理资料,一些友情链接要尽量满足大多数用户的需要。
网站设计首先要确定学校网站的功能定位。学校网站的主要用户类型为:以家长为主的社会各界人士、各级教育行政部门、学校各个部门、教师和学生四类,网站的设计应考虑到这四类用户的不同需求。因此功能上可归纳为:展示学校形象、让社会了解学校;管理工作助手,满足教学、科研、管理工作需要;信息资源宝库,集成各类资源,为师生学习、工作、生活服务;沟通交流园地,为师生交流、领导与群众的沟通提供方便。
网站构架重点在内容和功能两个方面的设计,从内容策划入手,主要是通过分类归纳,把握好内容的逻辑关系,但要同时考虑内容中相对动态的信息和相对静态的信息。相对动态的信息如:校园新闻、信息公告等,是不断有新的信息发布的区域,应该设计在比较突出的位置,吸引用户的注意;还有一类内容为功能化区域,视每个学校具体情况而定,如教务管理系统、资料查询系统、邮件服务系统等,用户登录入口可以设计在相对固定的位置,一般针对本校用户。
第二章 网站建设技术分析
2.1网站建设系统设计的需求分析
2.1.1设计的需求分析
要求:学校网站建设。利用网页制作软件进行网站的框架设计及有关动画、图片设计,利用动态网页设计技术开发新闻管理系统、文件管理系统,编程实现新闻动态生成及页面的动态生成。
2.1.2各种设计方案的比较
网页设计的工具软件很多, 目前比较流行使用DREAMWEAVER 结合FLASH 和PHOTOSHOP或FIREWORK 进行网页设计与维护,DREAMWEAVER 是创建和管理网页的专业化可视编辑器, 它的特点是支持最新的DHTML 和CSS 标准, 将JAVASCRIP 集成到行为和时间线中, 扩展了层的概念, 可简单地生成CSS、层、JavaScrip t 等动态页面, 能方便地加入flash、shockw ave、ActiveX、Java 等plugin 媒体, 此外它还具有较强的网站管理功能和扩展能力。
与Photoshop 相比, Fireworks 更适合处理与图形并行放置的文本, 并保证WEB 图颜色的正确性, 因此, 越来越多的人开始使用它。上述几种工具, 各有特点, 如果结合起来使
用, 会使图书馆网页变得丰富多彩, 使读者留连忘返。
利用动态网页设计技术开发新闻管理系统、文件管理系统,编程实现新闻动态生成及页面的动态生成。动态网页指的是采用ASP、PHP、CGI等程序动态生成的页面,在网络空间中并不存在这个页面,只有在接到用户的访问要求后才生成并传输到用户的浏览器中。
动态网页由计算机实时生成,具有日常维护简单、更改结构方便、交互性能强大等有点,同时动态网页需要大量的系统资源合成网页。
静态网页无需系统实时生成,网页风格灵活多样,但是静态网页在交互性能上比动态网页要差,日常维护也更为繁琐。
2.1.3确定设计方案
网站结构框架、网站页面风格采用三剑客网页制作工具来布局网页。为了界面设计风格保持一致性,采用框架布局。网页中图象、背景的优化,导航条的制作等等用FIREWORK来制作实现。努力做到:结构框架明晰网站各个内容部分的关系;页面风格要求指导美工设计页面构成。
网站功能主要动态模块有:管理员管理,新闻管理模块,文件管理模块。这些模块设计用PHP/MYSQL以及XML技术实现。实现动态管理就要设计数据库,安装配置开发技术平台。
2.2平台的安装与配置
2.2.1 在Windows2000环境下安装与配置服务器
(1) 在Window2000环境下安装和配置Aphache
现在,Aphache提供了在Windows2000环境下的安装程序,因此在环境下的配置工作就格外容易,具体操作步骤如下:
运行Aphache的安装程序Aphache.msi,弹出如图2-1所示的界面:
图2-1 Apache安装界面
之后按照屏幕提示即可完成的Aphache安装。如果要对Aphache进行相关设置,可以通过修改http.conf文件来实现,相关操作可以参考相应的Aphache资料。
(2) 在Windows2000环境下安装和配置IIS
在安装Windows2000时选择安装服务器IIS,网站设计成果保存在C:\inetpub\wwwroot下,测试站点时只要输入本机IP地址和文件夹名称即可。
测试站点前要启动服务器,在默认站点下新建一个虚拟目录,网站内容即放在该目录下。
2.2.2在Windows2000环境下安装和配置PHP4.2.3
在完成了的服务器的安装后,接下来对PHP4.2.3运行环境的配置:
(1) 将PHP的文件解压缩到C:\PHP。
(2) 将C:\PHP目录下的php.ini-dist文件复制到C:\WINNT,并改名为php.ini。
(3) 将C:\PHP目录下的install.txt中的如下内容复制到Apache的配置文件httpd.conf中:
如表2.2所示
ScriptAlias/php4/”c:/php”
Action application/x-httpd-php4”/php4/php.exe”
AddType application/x-httpd-php4.php
至此,就完成了PHP的安装,我们需要重新启动服务器,然后可以通过前面介绍的方式来编写一个简单的PHP程序进行测试。
另外文件设置:在php.ini中,设置register_global=on;将include设置为启用状态---为了以后系统开发中调用“require”;等等。一些配置在测试中逐步完成。
2.2.3在Windows2000环境下安装和配置MySQL
在Windows2000下安装比较简单,只需要找到MySQL的Windows安装版本,运行其中的setup程序即可。同样将MySQL安装在C:\目录下。
将安装完毕后,就可以利用提供的客户端工具与连接。在安装完后,系统中已经存在两个数据库:“”和“”,我们可以通过运行进行查看。
首先要队数据库添加不同的用户,并且为不同的用户赋予不同的权限,比如:对表中数据的添加、修改和删除权限。
例:创建用户如表2.3所示
Mysql>use db_school;
Mysql>insert into user set host=’主机名’,user=’用户名’,
->reload_priv=’Y’,process=’Y’;
修改密码:mysql>set password for 用户名 =password(‘新密码’);
2.3 PHP技术介绍
2.3.1 PHP语言简介
PHP是Hypertext Preprocessor(超文本预处理程序)的简称。实际上,该产品开始时称作“Personal Home Page Tools”(个人主页工具);但是,当它的使用范围日趋广泛后,一个更适合的名字被大家一致接受。我们可以给设计的PHP文件随意起文件扩展名,但一般建议使用.php、.php3和.phtml。当前使用的一般是第4版的PHP,称为PHP4,也可以简称为PHP。
PHP是一种服务器端的嵌入式HTML脚本语言。相对应的专利产品有Microsoft的ASP、Allaire的ColdFusion,还有Sun的Java Server Pages。由于其功能与Microsoft的产品、概念等非常相似,所以有时PHP被称为“源代码开放的ASP”。
严格的讲,PHP与布局、事件或任何有关Web页外观设计方面都没有多少关系。实际上,绝大多数PHP的功能对于最终用户而言是不可见的。当某人观看一个PHP页面时,他并没有必要去分辨该页面是否是用HTML语言写的,因为PHP的最终结果是HTML。
2.3.2 PHP的特点
Ø PHP是一个免费软件。把Apache/PHP/MySQL结合在一起,在廉价的低端硬件上运行的效果非常好,根本就不用为它们考虑IIS/ASP/SQL Server等硬件要求。为了进行比较,表2.4列出了一些同类产品大致的零售价格。
项目
ASP
ColdFusion
JSP
PHP
开发版
0~480美圆
395美圆
0
0
服务器
620美圆
1295美圆
0~595美圆
0
RDBMS
1220~4220美圆
0~10000美圆
0~10000美圆
0
附加支持
0~245美圆
0~75美圆
0~75美圆
0
表2.4 零售价格比较
Ø PHP易学易用,相对其他的可以获取相同功能的方法来说,PHP非常容
易学习。与Java Server Pages或基于C语言的CGI不同,PHP不要求用户在进行小的数据库调用前深入理解一门主要的编程语言。Perl被人们半开玩笑地称作“只写语言”,与它不同,PHP的语法很容易理解,并且人机界面非常友好。与Active Server Pages也不同,PHP不需要针对不同的情形学习两种不同的编程语言。另外,PHP还为使用者预定义了许多非常有用的函数(如打开同Oracle数据库的连接,或是从IMAP服务器中取电子邮件)。在学习PHP时还可以看到很多完整的脚本。实际上,在使用PHP时,完全可以通过修改这些已有的脚本而不是从头编起,如果从头开始编程,还需要理解基本原则,但可以避免把许多时间浪费在一些小的语法错误上。
Ø PHP是内嵌的,PHP是内嵌在HTML中的,换句话说,PHP的页面只是在
必要时“套入”PHP模式的普通HTML页面。PHP的HTML内嵌性可以提供很多帮助:
☉PHP能够迅速添加到由所见即所得式编辑器产生的代码中。
☉PHP将设计师和脚本编写者的工作分离开来。
☉HTML的任何一行都不必用编程语言重写。
☉PHP能够减少劳动成本,提高效率。
Ø PHP的交叉平台特性,PHP可运行于每一种流行的UNIX或Windows版本
操作系统上。而世界上相当大一部分的HTTP服务器工作于上述两种操作系统之一。表2.5显示的是操作系统与Web服务器组合的简单表格。
可变内容
UNIX
Windows
版本
AIX、A/UX、BSDI、Digital UNIX/Tru64、FreeBSD、HP-UX、Linux、NetBSD、OpenBSD、SCO UnixWare、Solaris、SunOS、Ultrix、Xenix等
Windows 95、Windows 98、Windows NT、Windows 2000
Web服务器
Apache、fhttpd、Netscape
IIS、PWS、Netscape、Apache、Omni
表2.5 操作系统与支持PHP的Web服务器
Ø PHP的稳定性,在这里,“稳定性”意味着两种不同的含义:1.服务器并
不需要经常启动。2.软件不用经常从根本上进行更改,并且各次发行版本之间不会不兼容。令人高兴的是,这两点都适用于PHP。Apache Server一般被认为是最稳定的主流Web服务器,拥有令人羡慕的正常运行时间百分率,虽然它不是最快的,对于管理员来说也不是最容易的,但一旦设置好了它,Apache HTTP Server就好象从不会出现崩溃。每次改变设置时,也不需要重新启动服务器(至少在UNIX这一方面是如此)。PHP继承了这种可靠性,并且它自己的实现更加稳固而便捷。在Network Computing实验室于1999年10月进行的为期两个半月的实战测试中,Apache Server和PHP在环境稳定性方面轻松战胜IIS/Visual Studio组合和Netscape Enterprise Server/Java组合。
Ø PHP非常迅速,PHP执行很迅速,尤其是当在UNIX平台上编译为Apache
模块的时候。与CGI脚本相比,PHP4几乎在每个使用方向上都更快得多。尽管许多CGI脚本是以C编写得,这是最低层的语言之一,因此比大多数编程语言的速度快得多,但每个请求从http守护进程切断后,都需要开始一个全新的进程,这一事实阻碍了CGI的应用。这种切断和产生所需要的时间和资源相当多,限制了任意时刻可运行的并发进程数。其他CGI脚本语言,诸如Perl和Tcl,都相当缓慢。大多数Web站点出于性能和安全性原因,都逐渐不再使用CGI了。尽管由于它是解释执行,而不是编译过的,因而性能上稍微受到一些影响,但由于PHP作为Web服务器模块得到了很多利益,这样做是非常值得的。当以这种方式编译时,PHP成为http守护进程的一部分。因为没有与单独应用程序服务器的来回传送(例如使用ColdFusion时的情况),能够最大限度地有效满足请求。
Ø PHP的合作能力很强,PHP的数据库连接能力十分强大,支持对约15种
最流行数据库以及ODBC的驱动程序支持。另外,PHP还支持大量主流协议,诸如POP3、IMAP和LDAP。PHP4还提供了对于Java和分布式对象体系结构(COM和CORBA)的支持,第一次似的N层开发成为可能。
2.3.3客户端GUI应用
使用PHP-GTK,开发人员可以用PHP编写成熟的跨平台GUI(Graphical User Interface, 图形用户界面)应用程序。
PHP最重要的特性之一是对数据库的广泛支持。PHP支持所有主流数据库(包括MySQL、PostgreSQL、Oracle、Sysbase和兼容ODBC数据库),甚至包括许多模糊的数据库。用PHP从数据库中创建有动态内容的WEB页面是非常简单的。
PHP目前的最新版本为PHP5.0,其功能更加强大,可以参阅站点获得更多信息
PHP 与其它 CGI 的比较
无可置疑的,写 CGI 的方式有很多种,而 PHP 只是其中的一种选择罢了。对资深的 Webmaster 而言,CGI 的写作介面应是随着需求而更动。毕竟,在一个对系统反映速度要求极严格的系统而言,恐怕只有 NSAPI 介面写的 CGI 程式才能符合要求了。在其它的场合,相信使用 PHP 来作为 CGI 的介面是游刃有余,而且是最适合的。
如表2.6
程式介面
PHP
ASP
CGI
NSAPI
ISAPI
作业系统
均可
Win32
均可
均可
Win32
Web伺服器
数种
IIS
均可
Netscape Server
IIS
执行效率
快
快
慢
极快
极快
稳定性
佳
中等
最高
差
差
开发时间
短
短
中等
长
长
修改时间
短
短
中等
长
长
程式语言
PHP
VB
不限
C/C++
C/Delphi
网页结合
佳
佳
差
差
差
学习门槛
低
低
高
极高
高
函式支援
多
少
不定
中等
少
系统安全
佳
极差
最佳
佳
尚可
使用站台
超多
多
多
极少
少
改版速度
快
慢
无
慢
慢
表2.6 PHP与其他CGI的性能比较
其中的 PHP 可用在数种 Web 伺服器上;传统 CGI 就不限是哪种作业系统或 Web 伺服器平台;NSAPI 一定要在 Netscape 的伺服器 (如 Netscape Enterprise Server 或 FastTrack Server) 上才可以执行,但可支援多种作业系统 (UNIX 或 Win32);ASP 及 ISAPI 只在 IIS 上有完整的功能。
在稳定性上,由于 NSAPI 或 ISAPI 是动态连结的方式,因此在执行若出现问题,会使得 Web 伺服器一起瘫痪。而 ASP 在吾人实际应用经验上,隔阵子就会使系统不稳定,需要重开作业系统。PHP 在许多的站台使用上,不但长期使用都没有问题,而且程式的稳定性也不错。当然最稳的还是传统 CGI 程式,因为它是由作业系统负责控制,不会因 CGI 程式的错误导致 Web 伺服器的不稳定。
在开发及维护时间上,PHP 及 ASP 都有不错的表现。而 NSAPI 及 ISAPI 则需要长时间的开发过程,在稳定上线后,这二种介面反倒是效率最佳的方法。传统的 CGI 程式则要视开发工具语言而定了,用 Perl 或是 shell script 不需要编译的过程,直接就可以执行,若用 Delphi 或 VC/BCB 甚至用组合语言等都要经过编译才能执行,至于用 VB 来写传统 CGI,唉....。
要比较和网页结合的能力,PHP 和 ASP 是并驾齐驱的,其它的方式就不能内嵌 HTML 语法了。而这也是影响开发时间的因素之一。
就系统安全性而言,ASP 是最差的,在没有经过微软的 IIS Service Pack 处理过,使用 ::$DATA 就可以看到 ASP 的原始码,这真是叫人不敢领教。当然,传统 CGI 的程式,由于是由作业系统直接管理,要破解的难度最高,骇客必须由作业系统下手,而不能由 Web 伺服器下手。PHP 在许多商业及非商业使用时,也没有听过有什么安全的问题。
在新增功能及改版方面,传统的 CGI 由于不受任何语言限制,没有这方面的问题。PHP 是最有活力的,数天至数周就有一个新版本出现,每次的新版,就代表更多的功能及修正更多的错误。其它的 ASP、NSAPI、ISAPI 就视它的 Web 伺服器改版速度了,ASP 要等到 IIS 5.0 出现时才会有 ASP 3.0,也就是要等到 Windows 2000 正式上市。
综言之,在 Web 的后端 CGI 程式,就像鱼与熊掌一般,没有高效能又开发方便的选择。不过相信 PHP 是处于开发容易、效能亦不错的平衡点上。
2.4 MySQL数据库介绍
2.4.1 MySQL简介
数据库从最初的数据文件的简单集合,发展到今天的大型数据库管理系统,
这已经成为我们日常生活中不可缺少的组成部分。如果不借助数据库的帮助,许多简单的工作将变得冗长乏味,甚至难以实现。尤其像银行、院校和图书馆这样得大型组织更加依靠数据库系统实现其正常的运作。再看互联网上,从搜索引擎到在线商场,从网上聊天到邮件列表,都离不开数据库。
MySQL是一个小巧玲珑的数据库服务器软件,对于中、小型应用系统是非常理想的。除了支持标准的ANSI SQL语句外,最重要的是,它还支持多种平台。在Unix/Linux系统上,MySQL支持多线程运行方式,从而能获得相当好的性能。它和前两个软件一样,是属于开放源代码的软件。
总体来说,MySQL数据库具有以下主要特点:
● 同时访问数据库的用户数量不受限制。
● 可以保存超过50 000 000条的记录。
● 是目前市场上现有产品中运行速度最快的数据库系统。
● 用户权限设置简单、有效。
● 真正的核心多线程支持。这意味着MySQL可以轻松应用于安装了多
个CPU的服务器上,并充分地利用资源。
● 拥有多种程序语言的应用程序接口(API),包括C,C++以及当今炙
手可热的Java、Perl、PHP等,这更使MySQL如虎添翼,无所不能。
● 支持多个操作平台,适用于所有的现代操作系统:UNIX、Linux、BSD(FreeBSD、netBSD、OpenBSD)、Windows系列……,只要具有Posix线程和C++编译器的操作系统都可以安装MySQL。
● 丰富的列类型。除了SQL语言中常用的FLOAT、DOUBLE、CHAR外,MySQL还支持VARCAHR、TEXT、BLOB(二进制大对象)、TIMESTAMP等列类型,大大方便了数据类型的定义与检索。
● 一次可查询不同数据库中的表单(限于3.22以上版本)
当然,任何软件产品都不可能是十全十美的,MySQL也不例外,不少人刚接触MySQL时抱怨MySQL的类UNIX OS版本不支持窗口形式。的确,这使MySQL看起来不那么友善,当你最初不得不在单调的字符方式下手工输入一行行的SQL语句,间或不小心写错一两个字母便被一句冷冰冰的错误提示,抹杀了半天的辛苦时,肯定会吓跑不少高手。但在程序员和数据库管理员看来,这正体现了MySQL的简洁与高效,除去花哨图形界面的MySQL,麻雀虽小,五脏俱全。它所支持的SQL语句以及自建的函数和命令,以其强大的功能依然能与不少同类软件媲美,而它精巧的体积正是快捷高效地查询和节省系统硬件资源的保证。
如今,包括Siemens和Silicon Graphics这样地国际知名公司也开始把MySQL作为其数据库管理系统,这就更证明了MySQL数据库的优越性能和广阔的市场开发前景。
2.4.2 连接和断开数据库
为了连接服务器,当调用MySQL时,通常需要提供一个MySQL用户名和对应的一个口令:
shell> mysql –h host –u user –p
enter password: ********
shell>代表外壳程序提示符,在UNIX系统中通常为“%”或者“$”。在Windows下,提示符类似“c:\>”。
首先来看看这些选项的含义:
-h host:希望连接的数据库服务器名称。如果此服务器与MySQL在相同的机器上,该选项一般可以省略。
-u user:使用的MySQL用户名。在UNIX系统中,如果用户名与注册名相同,则可以省去该选项,MySQL将使用注册名作为MySQL用户名。
-p:这个选项告诉MySQL提示你输入口令。注意此处可用-p password的形式在命令行上输入你的MySQL口令,但是出于安全的考虑,最好采用前面的提示输入口令方式。
例如,下面的例子表示连接到本地MySQL所在的服务器上:
shell> mysql –u wangsong –p
enter password:********
输入命令后,MySQL显示enter password,提示用户输入密码。在输入密码之后,MySQL验证用户名与密码匹配正确的话,将出现下面的消息。对于不同版本和不同用户,出现的消息可能有微小的差别。
Welcome to the MySQL mands end with ; or \g.
Your MySQL connection id is 459 to server version: 3.22.20a-log
Type ‘help’ for help.
Mysql>
提示符告诉用户MySQL准备为你输入命令。入需要连接到其他机器上运行的服务器,就需要使用参数-h来指定主机名。如将下面的命令连接到主机名为上。
Shell>mysql –h -u wangsong –p
同时还有一些MySQL安装允许用户以“anoymous”(匿名)用户名连接在本地主机上运行的服务器。如果用户的机器是这种情况,应该通过没有任何选项地调用MySQL与该服务器连接:
shell>mysql
不管采用何种方式连接数据库。在成功地连接后,就可以在mysql>提示下键入QUIT,随时断开数据库连接:
mysql>quit
bye
还可以键入control-D断开。
2.4.3 MySQL数据库数据的查找﹑插入
MySQL数据库数据的插入:使用insert语句向表中输入信息。
SQL的insert语句的基本语法如下:
Insert into table_name(column1,column2,colum3,…)
Values(value1,value2,value3,…)
如果表中的列允许空值,则在insert语句中可以省略该值。
必须用单引号(′)把文本字符串括起来。例如:
insert into table_name(text_col,int_col) values(′hello world′,1)
MySQL数据库数据的查找:基本的select语句要求读者指出进行选择的表
以及要求的列名称。如果希望从给定的表中选定所有的列,可以用星号(*)代表所有的字段名。
Select column1,column2,column3 from table_name
或
select * from table_name
2.5PHP与MySQL的交互
PHP除了具有一般语言地数学运算、时间处理、文件处理、字符串处理、图形处理等多种功能外,一个突出的特点就是支持多种数据库,主要包括的有:AdabasD、DBA、dbase、dbm、filePro、Informix、InterBase、MySQL、Microsoft SQL Server、Solid、Sybase、ODBC、Oracale8、PostgreSQL。
在这里,我主要编写关于MySQL的应用程序,因此主要使用了MySQL的接口函数,而这只是PHP函数中的一小部分。MySQL的PHP接口分为连接管理、数据库操作、构造查询、结果集处理、错误报告等五部分共32个函数。这里仅将以后经常用到的几个函数加以介绍。
2.5.1 连接管理函数
(1) mysql_connect()
格式:int mysql_connect(string[hostname][:port],string[username],
string[password]);
参数中的port表示数据库服务器的TCP/IP端口号,除非服务器使用特别的端口号,一般情况下可缺省此项,以默认端口号连接服务器。如果不填任何参数,则默认的hostname为localhost,username为root,password为空。此函数执行成功后,返回一个整数类型的连接标志符(link_identifier),否则返回false。例:
<?php
$hostname=”localhost”;
$username=”root”;
$password=””;
mysql_connect($hostname,$username,$password) or die (“Unable to connect to the Database Server!”);
这是一个连接数据库服务器的例子,使用函数mysql_connect()进行数据库服务器的连接,die后面的表示连接服务器失败将要输出的信息。本例中,如果连接失败,浏览器将输出:
Unable to connect to the Database Server!
(2) mysql_pconnect()
格式:int mysql_pconnect(string[hostname][:port],string[username],
string[password]);
mysql_pconnect()与mysql_connect()函数的功能相同,都是用于连接MySQL服务器的连接函数。二者关键不同的就是mysql_pconnect()函数建立了连续持久连接,而mysql_connect()建立的是一次性的连接。这就是说,当使用mysql_pconnect()函数建立数据库连接时,首先检查当前服务器上是否使用同样一组连接参数(hostname,user,password)的连接存在。如果有,则继续使用该连接,不必重新连接服务器。当程序结束数据库操作之后,此次建立的连接并不关闭,从而下一次相同参数的pconnect操作可以继续使用这一连
展开阅读全文