基于PHP_MySQL的网站开发

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于PHP+MySQL 的网站开发
2009年第31卷第6期总第180期
物流工程与管理
LOGISTICS ENGINEERING AND MANAGEMENT
□肖维明
(广州市信息工程职业学校,广东广州510610)
【摘要】PHP 是一种跨平台的开放源代码的服务器端嵌入式脚本语言,利用PHP ,我们可以轻松地进行Web 开发,轻
松地制作动态网站、新闻系统等;轻松地实现对文件及文件夹的操作;轻松地进行电子商务网站的开发、数据的加密;与数据库相关联等等。

文中将介绍常见的建立PHP+MySQL 运行环境的方法以及如何在PHP 中调用MySQL 存储过程和函数,并结合实例,谈谈基于PHP+MySQL 的网站开发。

【关键词】PHP ;MySQL ;网站开发【中图分类号】
TP393
【文献标识码】
B
【文章编号】1674-4993(2009)06-0090-03
Website Development Based on PHP+MySQL
□XIAO Wei-ming
(GuangZhou Information Engineering Vocation School Guangzhou 510610,China )
【Abstract 】PHP is an open source cross-platform server-side embedded scripting language,we can easily implement Web development and make dynamic sitenews systems with it,besids that,PHP can be easily used in the operation of document and folder,the development of e-commerce and data encryption as well as associated with the database,and so on.This article intro -duces the establishment of common running MySQL +PHP environment and how to call php in the MySQL stored procedures and functions,combined with examples like the PHP +MySQL-based web site development.
【Key words 】PHP;MySQL;website development 【收稿日期】2009-05-17
【作者简介】肖维明(1964-),男,汉族,广东梅县人,大学本科,广州市信息工程职业学校计算机讲师,研究方向:计算机专业课程
教学方法,计算机网络管理技术、方法和实施。

PHP 是:Hypertext Preprocessor (超文本预处理器)的字母缩写,PHP 是近年发展起来的一种新兴的语言,它是一种服务器端、
跨平台、HTM L 嵌人式的脚本语言,它的工作方式与ASP 相似,其主要功能是用来开发动态交互式的Web 服务器应用程序。

PHP 自产生以来一直都在发展中应用、在应用中发展,这是因为PHP 不仅有着其它同类脚本所共有的功能,更有它自身的特色。

总的说来,PHP 具有以下特点:完全免费;代码完全开放;语法结构简单;功能强大;强大的数据库支持(如ORACLE 、DBASE 、M ySQL 、INTERBASE 等);代码执行效率高(尤其是对于M ySQL 数据库的存取,非常直接、简练,没有额外的开销)。

PHP 不仅支持Linux ,还支持各种版本的Windows ,所以开发的程序不需改写,直接可以在Linux 上运行。

M ySQL 是一个真正的多用户、多线程SQL 数据库服务器,主要特点是快速和易用,支持多种操作系统。

在对M ySQL 数据库的操作上,PHP 一共有32个函数可供操作。

这些函数包括了M ySQL 的各个方
面,包括操作M ySQL 数据库的PHP 函数,连接数据服务器的函数,选择数据库的函数,发送SQL 查询的函数等等,使得PHP 操作数据库的能力更为强大。

1
建立PH
P+M ySQ L 运行环境简述①安装Apache 。

在网上下载Apache 安装程序,并将apache 安装到c:/apache 下,装完后可在浏览器中输入http://localhost 查看是否成功运行。

如果运行错误,80%以上的可能是由于端口问题,请修改c:/apache/conf/httpd.conf 中的Listen 和ServerName 这2个配置为其他未占用的端口。

②安装PHP5。

将PHP5解包到c:/php 下,然后将c:/php/php.ini-recommended 复制成c:/php/php.ini ,或者直接改名也可!然后请正确配置php.ini ,尤其要注意extension_dir 参数,将其改为“c:/php/ext/”。

③安装M ySQL 与初始化设置。

下载M ysql 的安装包( 或 ),然后解压缩,得到一个“setup.exe ”的安装文件,双击此文件启动安装程序,安装配置。

·电子商务·
④配置c:/apache/conf/httpd.conf。

在文件最后加上以下内容:
LoadFile“c:/php/libmysql.dll”
Load M odule php5_module“c:/php/php6apache2_2.dll”
Add Type application/x-httpd-php.php
PHP IniDir“C:/php”
其中要注意的是LoadM odule参数中应该是php5_module,而不是php6_module。

LoadFile“c:/php/libmysql.dll”的目的是为了让PHP支持php_mysql.dll扩展。

最后保存,重起Apache就可以正常运行PHP了。

2在PH P中调用M ySQ L存储过程和函数
①如果存储过程有IN/OUT参数,声明一个php变量和一个M ySQL变量;
②如果存储过程有OUT变量,声明一个M ySQL变量。

M ySQL变量的声明比较特殊,必须让mysql服务器知道此变量的存在,其实也就是执行一条mysql语句:set@mysqlvar= $phpvar;
③使用mysql_query()/mysql_db_query()执行mysql变量声明语句。

mysql_query(“set@mysqlvar[=$pbpvar]”)。

这样,在mysql服务器里面就有一个变量,@mysqlar。

如果是IN参数,那么其值可以有phpar传入。

④如果是存储过程。

执行call procedure()语句。

也就是mysql_query(“call proceduer([var1]...)”);
如果有返回值,执行select@ar,返回执行结果。

mysql_query(“select@var)”
接下来的操作就和php执行一般的mysql语句一样了。

可以通过mydql_fetch_row()等函数获得结果。

⑤如果是函数。

直接执行select function()就可以了。

$host=“localhost”;
$user=“root”;
$password=“11212”;
$db=“samp_db”;
$dblink=mysql_connect($host,$user,$password)
or die(“can't connect to mysql”);
mysql_select_db($db,$dblink)
or die(“can't select samp_db”);
$res=mysql_query(“set@a=$password”,$dblink);
$res=mysql_query(“call aa(@a)”,$dblink);
$res=mysql_query(“select@a”,$dblink);
$row=mysql_fetch_row($res);
echo$row[0];
3MySQL在PHP中的应用实例分析——
—以留言本为例
留言本是Web开发中比较典型的应用之一。

留言本程序虽然简单,但是包括了表单提交、数据接收、写入数据库、读出数据库、分页等数据库编程的方方面面。

能够熟练编写一个功能较全面留言本是Web开发人员的基本功。

本案例我们就来编写一个留言本。

这个留言本支持填写留言、浏览留言、管理员回复留言、删除留言等功能。

具体实施步骤如下:
3.1需求分析
首先,任何浏览者都有浏览任何板块、任何帖子以及任何回复的权限,而且任何浏览者都有权利注册本论坛没有注册过的用户。

其次,任何注册用户都有浏览任何板块、任何帖子以及任何回复的权限,而且还有发新帖子、回复任何帖子的权限。

任何注册用户都有被设为某子板块版主的机会。

版主有浏览任何板块、任何帖子以及任何回复的权限,而且还有发新帖子、回复任何帖子的权限。

版主还有删除任何板块的帖子和回复的删除权限。

最后,管理员除了有版主所有的权限外,还有添加父板块、管理父板块、添加子板块、管理子板块、查看所有用户、删除用户、检索用户、自己密码更改等权限。

3.2流程设计
①准备阶段。

了解和学习PHP概述、HTM L与JS以及服务器环境配置。

②学习PHP。

包括:基本语法、内置数组和常量、内置函数、文件与目录操作等。

③学习数据库。

如:M ySQL5数据库的安装与使用。

④运用PHP5+M ySQL5数据库编程。

3.3创建数据库和表
在本留言本中,我们一共用到1个数据库和2个表。

数据库名为gbook。

两个表为message和admin。

M essage表存放用户提交的留言以及管理员的回复。

Admin用来存放管理员的用户名和密码。

①创建数据库:
CREATE DATABASE`gbook`;
创建表admin:
CREATE TABLE`admin`(
`username`VARCHAR(20)NOT NULL,
`userpass`VARCHAR(20)NOT NULL
)
②创建表message:
CREATE TABLE`message`(
`id`INT(4)NOT NULL AUTO_INCREM ENT PRIM ARY KEY,
`author`VARCHAR(20)NOT NULL,
`addtime`DATETIM E NOT NULL,
`content`VARCHAR(1000)NOT NULL,
`reply`VARCHAR(1000)NOT NULL
)
第6期肖维明:基于PHP+M ySQL的网站开发91
物流工程与管理第31卷
(上接第74页)并尽可能促进自身更多的话语权。

执行Agent 行使直接的业务模块。

③缺少供应链核心企业的供应链路由设计。

因在供应链中没有直接的利益关系,而且也只是一个协调者,所以“自身模型”更能站在客观角度来平衡供应链中的利益关系,成为促进动态交易的媒介作用。

④缺少供应链核心企业的Agent联盟设计。

因为在供应链中没用核心企业,故其“自身模型”更多注意市场变化作为导向,同时注重对供应链路由所收集的产业信息的分析。

执行Agent行使直接的业务模块。

3.2技术开发
基于M ulti-Agent的敏捷供应链系统的开发可以利用JADE进行[10],JADE(java Agent Development Framework)是一种开发M ulti-Agent系统框架的工具,它符合FIPA(Foundation for Intelligent Physical Agents)规范,并且实现系统的环境仅为Java1.4.作为一种中间件,JADE提供了Agent基础类。

其供应链路由模型的KQM L语言描述需要对准具体行业或者产业链,仍期待进一步研究,这里就不赘言。

4结论
本文着重研究了基于M ulti-Agent的敏捷供应链模型研究,敏捷供应链都无法用一个或者几个模型来解决,这里提出两类典型的敏捷供应链模式,既反应出当前我国经济现象中产业“龙头独大”问题,也解释了政府引导在产业集群的重要作用。

同时我们从下表可以看出,利用M ulti-Agent与成熟理论特点的对比:最优化理论可能因为影响核心企业的利益而使得最终无法实施;基于博弈论的战略联盟则因为模型假设较多,难以对供应链上成员解释清楚,同时也因为稳固的供求关系虽减少交易成本,但使得链上企业增大了更好供应商的机会。

而M ulti-Agent实体对象则需要,前期联合供应链上所有企业组成“产业链协会”,由协会组织指定发展目标和实施计划,利用Agent自学能力,逐步实施。

表2敏捷供应链模型特点对比
方法优点缺点
最优化模型量化,容易理解参数变化,太理想化,易短视博弈战略联盟能立足于长远目标假设较大多,模型复杂,
M ulti-Agent自治性,应变性强结构复杂
在系统运行过程中,可以成功地解决了以下几个问题:
①通过角色模型来查找执行Agent,解决了企业内部复杂变动的情况,以及企业外部供应商、客户的变化情况。

②避免最优化理论和博弈论在供应链研究中的两个极端,更注重环境变化而引起的企业策略变化。

③解决了存在生产企业中的信息孤岛问题,通过该系统,各个部门模型被有机地整合在一起,实现了企业内各个部门之间的交流,和企业外的供应商、客户之间的交流。

④通过设置一个人工Agent来处理生产流程异常,很好地满足了系统的灵活性,极大地提高了系统的柔性。

[参考文献略]
创建完成后,可以在admin表中插入一条记录,也就是初始化一个管理员账号。

我们不妨设置一个用户名为admin,密码为adminpass的管理员账号。

3.4代码编写
本留言本一共用到6个页面。

分别是:index.php:留言本首页;login.php:管理员登陆页面;send.php:用户填写留言页面;manage.php:管理员管理页面;reply.php:管理员进行回复的页面;logout.php:注销登录的页面。

由于篇幅限制,相关代码不再列出。

理论上来讲,这几个页面的编写顺序是无关紧要的。

但是为了更好的说明本程序开发的流程,可以采用下面的步骤:首先编写send.php,供用户提交留言,只有提交了留言才能进行后面的留言显示、留言管理等。

然后编写index.php,本页面将显示10条最近的留言,并有分页功能;然后是login.php,供管理员登陆;然后是manage.php和reply.php,用来进行留言管理;最后是logout.php,用来注销登录。

3.5程序运行
将写好的程序安装在预先配置好的PHP环境中,测试程序。

最后,在学习利用PHP+M ySQL进行网站开发时要注意,写程序前看看怎么用error_reporting,不要过分的依赖register_global=ON的环境,如果尚不明白register_global的ON/OFF会对自己有什么影响,最好把它设为OFF;初学者有空多看看别人的程序,找出他人的不足或优点,相互学习。

PHP是免费的、嵌入式的、运行在服务端的,发展到现在已经到了第五个版本PHP5,它功能强大、语法简洁、易于掌握,它在Web开发中占用重要位置,可以通过多种工具来进行PHP开发,再加上与M ySQL的合作,更加出色的发挥了两者高效、灵活、安全、稳定的优点,相信在广大网站开发爱好者的共同努力下,PHP+M ySQL一定会给网站的开发应用发挥更大的作用。

[参考文献]
[1]张佶.网站建设中常见问题分析[J].黑龙江科技信息,2009,
(10):70.
[2]赵鹤芹.设计动态网站的最佳方案:Apache+PHP+MySQL[J]
计算机工程与设计,2007,(04).
[3]石志钢.基于PHP&MySQL的企业科协网站的技术解决
方案[J]中国科技信息,2009,(01).
92。

相关文档
最新文档