王慧敏
摘要:PHP是开发Web应用系统最理想的工具,拥有易于使用、功能强大、成本低廉、安全性高、开发速度快且执行灵活等优点。PHP支持的数据库类型较多,在这些数据库中,MySQL数据库与PHP结合得最好。MySQL只有命令行实用程序,没有可视化开发环境,这使网站中的数据库操作非常困难。所以很有必要用PHP建立一个可视化的环境,使MySQL数据库操作变得更加简易。
关键词:PHP语言;MySQL数据库;网站
PHP是一种服务器端、跨平台、HTML嵌入式的脚本语言。其混合了C语言、Java语言和Perl语言的特点,是一种被广泛应用的开源多用途脚本语言,尤其适合Web开发。它能在Linux、Windows等绝大多数操作系统环境中运行。
MySQL数据库是一个小型关系型数据库管理系统,其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
然而,MySQL数据库只有命令行实用程序,没有可视化环境,给大多数习惯于Windows开发环境的程序员带来诸多不便。PHP具有极强的开发MySQL应用的能力,使用PHP通过SQL语言可以对数据库进行各种操作,并以HTML格式输出到浏览器中显示,或在浏览器中对数据库中存储的网站内容进行管理,实现MySQL的可视化数据库操作。
数据库操作是指对数据库上的数据进行的一系列操作,包括读取数据、写数据、更新或修改数据、删除数据等。
一、系统功能及主页设计
数据库操作可以在网站中网页提供的特定页面中完成。经分析,我们提出了如图1所示的数据库操作功能。整个系统分成数据库、表、数据操作3个功能模块,每个模块包括若干个功能,用于建立网站时的数据库基本操作。
根据图1的系统功能,我们设计了图2所示的主页,一个简单的图书信息管理的数据库。下面将以此为例,在配置并启动PHP服务器(PHP预处理器、Apache服务器、MySQL數据库服务器)和建立好图书信息表的情况下,介绍在数据表中如何实现四种最基础的数据库操作,即读取数据、写数据、修改数据、删除数据。
二、软件设计
(一)读取数据
从数据库读取数据要通过查询语句来完成,通过适当SELECT查询语句的编写,并使用mysqli_query()函数执行SQL查询语句,可以让数据库服务器根据客户的要求,检索出所需要的数据资料,即查询结果集$sqlstr=select * from tb_bookinfo order by id。
然后,选用mysqli_fetch_row()、mysqli_fetch_assoc()、mysqli_fetch_array()、mysqli_fetch_object()四个函数中的一个,通过一个数据行接着一个数据行的方式检索结果集,并利用输出语句将它们逐行显示在页面上。
图2显示的是图书信息表(tb_bookinfo)中的所有记录,是一个简单的单表查询,利用了SELECT查询语句和函数mysqli_fetch_row()逐行获取结果集,并用for循环将每条记录中的各个数据元素循环输出到网页。部分代码如下:
$result=mysqli_query($conn,$sqlstr);
while($row=mysqli_fetch_row($result)){
for($i=0;$iecho $row[$i];
}
}
(二)添加数据
添加数据是向已经存在的数据表中添加一条新的记录,应该使用INSERT INTO语句。在命令行中添加不同的记录要不断的更改INSERT INTO语句的内容,非常繁琐,不利于操作。如果利用PHP去操作数据库的话,可以做一个可视化的表单(如图3所示)来进行新记录的输入。
用insert_ok.php文件获取表单中提交的数据,并用INSERT INTO语句将其添加到相应数据表中,关键代码如下:
if ($_POST[‘bookname] and $_POST[‘author] and $_POST[‘price] and $_POST[‘btype]){
$sqlstr1 = “insert into tb_bookinfo values(‘,”.$_POST[‘bookname].”,”.$_POST[‘author].”,”.$_POST[‘price].”,”.$_POST[‘btype].”)”;
$result = mysqli_query($conn,$sqlstr1);
}
(三)修改数据
如果要修改某条图书信息,单击图2中的“修改”可以链接到修改图书信息可视化界面,可视化界面用文件update.php实现,关键代码如下:
$sqlstr=select * from tb_bookinfo where id=.$_GET[‘id];
$result=mysqli_query($conn,$sqlstr);
$row=mysqli_fetch_row($result);
?>
书名:
作者:
价格:
类型:
” />