china.com
主页
新闻
体育
游戏
文化
教育
健康
财经
科技
旅游
军事
娱乐
商贸
  科技动态 硬件广场 下载基地 网络教室 网络冲浪 科学博览 移动时代 手机上网 桌面壁纸 科技商情  


用PHP实现Web页面同数据库相连

2000-08-16 10:08:11

  Web页面同数据库相连,最常见的是使用CGI程序。任何同数据库有关的页面信息都要用C或者Perl语言写出单独的CGI程序,各CGI程序之间没有通用性。每增加一项内容,都要重写CGI程序,工作量过大。在NT环境下,有很多工具如:ISAPI、ASP等可以帮助我们开发应用程序。那么在Linux环境下,有没有同著名的Apache WWW服务器相对应的数据库连接工具呢?今天向各位推荐的PHP3就是将数据库同页面连接的专用工具。

  一、PHP3是怎样工作的

  PHP3工作原理如下:

220140__b0601t01.jpg   图1

  同数据库相关的页面,在服务器端以PHP脚本的方式编写。实现过程如下:

  第1步:客户向Web服务器发出请求。

  第2步:Apache服务器分析客户的请求,若为PHP文件,则将其交给PHP处理程序进行处理。

  第3步:Filename.php3是一个PHP脚本,包含了许多命令,其中包括打开并连接数据库,从数据库中找到所要数据的命令。所有同数据库相关的操作,都由PHP来完成。PHP可以很好地完成同数据库的交互。

  第4步:PHP从数据库中取得数据后,按照Filename.php3文件的要求,进行格式转换,也即将文件内容转化为HTML格式。

  第5步:将HTML格式的文件交给Apache服务器。

  第6步:Apache服务器再将其送给客户。

  二、Linux下的数据库——MySQL

  1.首先安装数据库。在Linux下,最常用的数据库为MySQL。

  下载地址: http://www.mysql.com. 最新版为3.23.21.。在Red Hat Linux 环境下,下载已编译好的二进制代码,其中包括服务器端、客户端、开发工具包共3部分。i386 系列机的用户,应下载:

  数据库服务器:MySQL-3.22.21-1.i386.rpm

  客户端:MySQL-client-3.22.21-1.i386.rpm

  库文件及头文件:MySQL-devel-3.22.21-1.i386.rpm。

  编译好的软件包为:MySQL-3.22.21-pc-linux-gnu-i686.tar.gz。首先将它解压缩到硬盘的/usr/local目录下。然后以系统管理员登录,解压缩此软件包:

  # tar -zxvf /tmp/MySQL-3.22.21-pc-Linux-gnu-i686.tar.gz

  解压缩后,会自动产生一个叫MySQL-3.22.21-pc-Linux-gnu-i686的目录,为了方便,可以建立此目录的链接,以下命令将MySQL-3.22.21-pc-Linux-gnu-i686目录链接为MySQL目录:

  # ln -s MySQL-3.22.21-pc-Linux-gnu-i686 MySQL

  这种方法便于以后升级MySQL,当新的MySQL出来后,只需如上所述将新的版本解压缩,编译成功后,简单地将链接换掉即可。

  之后,在Linux环境下建立用户MySQL,禁止任何人使用此账户登录系统。将MySQL目录及文件的拥有者赋予用户MySQL及Root组:

# cd /usr/local

# chown -R MySQL:root MySQL-3.22.21-pc-linux-gnu-i686 MySQL

  下面,以MySQL用户登录,运行一个小脚本,以创建MySQL数据库。

  $cd mysql

  $scripts/mysql—install—db

  $exit

  如果安装程序不出错,那么,恭喜你,MySQL数据库安装成功了。

  源代码的安装方式为:

  #cd MySQL

  #./configurate --prefix=/usr/local/MySQL

  #make ; make install

  到此为止,MySQL安装完成。

  在Red Hat Linux 环境下安装MySQL比较简单:首先,以Root用户登录,将此软件包拷贝到目录/tmp中,键入以下命令即可:

  # rpm -ivh MySQL

  2.测试数据库

  键入如下命令:

  #/etc/rc.d/init.d/MySQL start

  如果一切正常,则系统会出现以下提示:

  Starting MySQL daemon with databases from /var/lib/MySQL

  MySQL客户端的运行方式如下:

  #MySQL

  之后,你会看到:

  Welcome to the MySQL monitor. Commands end with ; or \g.

  Your MySQL connection id is 2 to server version: 3.22.21

  Type ′help′ for help.

  mysql〉

  表示一切运行正常。

  数据库中通常带有一个测试数据库,名称为Test,查看数据库可以运行以下命令:

  mysql〉 show databases;

  系统会显示:

Database

mysql

test

  2 rows in set (0.00 sec)

  看到这些信息,表明现在MySQL数据库已真正开始运行了。

  为了测试,我们在数据库Test中创建表Tel—num,并在其中加入以下数据:

  mysql〉 CREATE TABLE Tel—num ( name CHAR(30), phone CHAR(10) );

  在表中加入以下数据:

  mysql〉 INSERT INTO mytable VALUES (″Xue QiKang″, ″0574-7361166″);

  mysql〉 INSERT INTO mytable VALUES (″Ye Mingjie″, ″0574-7279996″);

  将数据库中Test各表的使用权授予用户Webmaster@localhost。

  三、安装WWW及PHP1.下载并安装PHP软件包

  在PHP的站点上,有编译好的RPM格式的软件包,但版本为 3.0.5,对数据库的支持没有被编译进此软件包中,所以通常情况是自己下载源程序,自己编译。另外,Red Hat Linux 5.1发行版中所带的Apache服务器版本为1.3.3,建议各位下载Apache的最新版1.3.12版,相对于Apache 1.3.3版,它改进了许多。下载PHP软件包的地址为:http://www.php.net。

  下载Apache的源程序软件包后,解压过程如下:

  #tar xvzf php-3.0.8.tar.gz

  #cd php-3.0.8

  #./configure --with-MySQL=/usr/local/MySQL \

     --with-apahce=../apache_1.3.6 \

     --enable-track-vars

  #cp php3.ini-dist /usr/local/lib/php3.ini

  2.安装Apache服务器

  #tar xvzf apache—1.3.6.tar.gz

  #cd apache—1.3.6

  #./configure --prefix=/usr/local/apache \

      --activate-module=src/modules/php3/libphp3.a

  #make; make install

  如果不出错,则Apache安装完成。

  最后编辑Httpd配置文件:httpd.conf,找到AddType Application/x-httpd-php3.php3,把它前面的注释去掉。

  3.安装phpMyAdminL

  从http://www.htmlwizard.net/phpMyAdmin/下载phpMyAdmin—2.0.1.tar.gz,解压软件包:#tar -zvxf phpMyAdmin—2.0.1.tar.gz,产生phpMyAdmin-2.0.1目录。

  将此目录下的所有文件移到/usr/local/apache/htdocs/phpMyAdmin目录中,并将其属性置为可读。

  为了在网页中显示中文,还需要对配置文件进行更改。用户需对/usr/local/apache/htdocs/phpMyAdmin目录下的Config.inc.php3文件进行修改,将其中require一行改写为:require(″chinese—gb.in c.php3″)。

  四、测试

  1.PHP脚本实例

  Indextest.php3文件内容:

  〈html〉

  〈head〉

  〈title〉 This is my first PHP page〈/title〉

  〈/head〉

  〈body bgcolor=#ffffff〉

  〈? Echo ″Hello, How are you″; ?〉

  〈/body〉

  〈/html〉

  在浏览器地址栏输入:http://127.0.0.1/indextext.php3,会出现:“Hello, How are you ?”。

  这表明,PHP已经正常运行了。

  2.页面与数据库相连实例

  在index0.php3中加入:

  ……

  〈?

  mysql—connect(″localhost″, ″webmaster″, ″″);

  $query = ″SELECT name, phone FROM tel—num″;

  $result = mysql—db—query(″test″, $query);

  if ($result) {

  echo ″Found these entries in the database:〈ul〉″;

  while ($r = mysql—fetch—array($result)) {$name = $r[″name″];

  $phone = $r[″phone″];

  echo ″〈li〉$name, $phone″;}

  echo ″〈/ul〉″;

  } else {

  echo ″No data.″;}

  mysql—free—result($result);

  ?〉

  ……

  用浏览器打开它,看看结果!(见图2)

220140__b0601t02.jpg  图2

  摘自《赛迪网》 薛启康/文

404 Not Found

404 Not Found


nginx


科技检索


中华网推荐

  • 1000名医生在线咨询

  • 中国足球队官方网站

  • 鸦片玫瑰(新版)

  • 精选股票天地

  • 闪光的flash教程

  • 中华网汽车世界

  • 为你的爱情出谋划策

  • 网文精选——野百合集

  • 世界文化遗产在中国

  • 历届香港小姐风姿集



  •  


    网络教室编辑信箱
    版权声明 | 本站检索 | 联系方法 | 刊登广告 | 使用说明 | 关于中华网 | 豁免条款

    版权所有 中华网