php创建数据库
1、 实验目的
学会使用PHP编写数据库连接的公用功能,并操作数据库链接,实现数据的查询、增加和删除功能。
PHP逻辑代码和html代码分离。
2、 实验内容
PS:本实验要在PHP第十节课:数据库的创建(1)基础上编写的。
(1) 建立项目结构。
1. common目录:存放公用的函数;view目录:存放html代码;根目录存放php逻辑代码文件
2. 把之前实验01171015_stu.php、复制到相应的目录,新建学生信息列表的html和逻辑代码文件:01171015_list.html、01171015_list.php。
新建通用功能文件:01171015_function.php
新建初始化文件:01171015_init.php
初始化某些参数,比如设置字符集、载入函数库:01171015_function.php
新建操作处理文件:01171015_ opt.php
如下图说示:

(2) PHP编写数据库连接的公用功能
01171015_function.php,添加数据库连接公用函数。
01171015_function.php:
<?php /* 添加数据库连接公用函数 删除、修改、增加数据的函数 */ //重定向 function redirect($url) { header("Location:$url"); exit;} //连接数据库 function db_connect() { static $link = null; //保存数据库连接 $link = mysqli_connect('localhost', 'root', '', 'db_stusys') or exit('数据库链接失败' . mysqli_connect_error()); mysqli_set_charset($link, 'utf8');//设置字符集 return $link; } //查询数据:链接数据库-执行SQL-取数据库集-处理结果集 function db_query($sql) { $link = db_connect();//连接数据库 $result = mysqli_query($link, $sql); //执行SQL语句,并获取结果集 if (is_bool($result)) { exit('执行失败。错误信息:' . mysqli_error($link)); } return mysqli_fetch_all($result, MYSQLI_ASSOC);//处理结果集 } //增删改记录 function db_oper($sql) { $link = db_connect();//连接数据库 return mysqli_query($link, $sql); //执行SQL语句 } ?>
删除、修改、增加数据的函数。留待其他php文件调用。
(3) 01171015_init.php:设置字符集,载入函数库01171015_function.php。以后所有的PHP文件均需包含此文件。
01171015_init.php:
<?php /* 1.设置字符集,载入函数库07110108_function.php 2.以后所有的PHP文件均需包含此文件。 3.处理之后传给01171015_list.html进行显示 */ //设置字符集 header('content-type:text/html;charset=utf-8'); //载入函数库 require './common/01171015_function.php'; ?>
(4) 学生信息列表: 01171015_list.html 、01171015_list.php
1. 读取学生信息数据表,并展示数据表内容:
01171015_list.htmll:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>学生信息表</title> <style type="text/css"> #fk{ border:1; width:100%; font-size:25px; margin:25px; width:90%; }; </style> </head> <!--1.新建学生信息列表的html 2.里面可以直接输入要操作的数据库名称--> <body> <table width="500" border="1" align="center" id="fk"> <tr> <p align="center" id="fk">学生列表</p> <p align="center" id="fk"><a href="01171015_stu.php">增加</a></p> </tr> <tr> <td> 学号</td> <td> 姓名</td> <td> 班级</td> <td> 性别</td> <td> 爱好</td> <td> 操作</td> </tr> <?php foreach ($stuinf as $v):?> <tr> <td> <?=$v['stu_id']?></td> <td> <?=$v['stu_name']?></td> <td> <?=$v['class_id']?></td> <td> <?=$v['stu_gender']?></td> <td> <?=$v['stu_hobby']?></td> <td> <a href="01171015_opt.php?id=<?=$v['stu_id']?>&opt=del">删除</a>| <a href="01171015_stu1.php?stu_id=<?=$v['stu_id']?> &stu_name=<?=$v['stu_name'] ?> &stu_password=<?=$v['stu_password'] ?> &stu_role=<?=$v['stu_role'] ?> &stu_phone=<?=$v['stu_phone'] ?>">修改</a></td> </tr> <?php endforeach;?> </table> </body> </html>
01171015_list.php:函数调用、逻辑处理
1. 然后我们直接运行01171015_init.php 然后就可以直接看到效果了,我们先从数据库读取数据显示在页面上。
