9.1案例介绍
实现对数据库的增删改查。
连接数据库完成以下表格以及相应的业务。
9.2分析案例
1、连接数据库。
2、展示数据库数据:通过select查询数据库,获取数据库记录展示到html表格中。
3、修改数据库数据:通过id查询数据库中要修改的数据,展示到表单中。
4、保存修改数据:修改表格中数据,点击提交,将表单提交的数据通过update保存到数据库中。
5、删除数据:通过id查询数据库中要删除的数据,点击删除通过delete删除数据库对应的数据。
9.3核心知识
PHP与MYSQL数据库的连接和基本的增删改查操作
9.4知识讲解
9.4.1检索查询结果
mysqli_fetch_array -- 从结果集中取得一行作为关联数组,或数字数组,或二者兼有
语法格式:array mysqli_fetch_array (查询结果指针[,数组储存型态常数])
返回类型:返回根据从结果集取得的行生成的数组,如果没有更多行则返回 FALSE。
说明:mysqli_fetch_array() 是 mysqli_fetch_row()的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。 数组储存型态常数共有三种:
—— MYSQLI_ASSOC: 关联数组---->等价于mysqli_fetch_assoc()
—— MYSQLI_NUM: 索引数组
—— MYSQLI_BOTH: 两者共用(默认值)
<?php
$Link_State = mysqli_connect("localhost", "root", "","mysql");
//定义MySQL指令参数
$SQL_String = "SELECT * from user";//选取user表
//开启资料库,传递查询指令
$Send = mysqli_query($Link_State,$SQL_String);
//取得所在栏位整笔资讯
$Field_Data = mysqli_fetch_array($Send, SQL_BOTH);
//利用foreach叙述输出阵列
foreach ($Field_Data as $name=>$value)
echo "$name : $value <br>";
?>
9.4.2取得记录行数
mysqli_affected_rows( )
函数可通过资料表传递回来的查询结果指针,来取得其中所有行数。用法:
mysqli_affected_rows(数据库连接)取得结果集中行的数目。
<?php
$Link_State = mysqli_connect("localhost", "root", "","mysql"); //定义MySQL指令参数
$SQL_String = "SELECT * from user";//选取user表单
//开启资料库,传递查询指令
$Send = mysqli_query($Link_State,$SQL_String);
if($row=mysqli_affected_rows($Link_State)){
echo “sql执行成功!“;
}else{
echo “sql语句执行失败!”;
}
?>
9.4.3关闭数据库连接
通过调用如下语句,可以释放结果集
mysqli_free_result -- 释放结果内存
格式:bool mysqli_free_result ( resource result )
mysqli_free_result() 仅需要在考虑到返回很大的结果集时会占用多少内存时调用。在脚本结束后所有关联的内存都会被自动释放。 关闭数据库连接
mysqli_close -- 关闭 MySQL 连接
格式:bool mysqli_close ( [resource link_identifier] )
mysqli_close() 关闭指定的连接标识所关联的到 MySQL 服务器的连接。如果没有指定 link_identifier,则关闭上一个打开的连接。通常不需要使用 mysqli_close(),因为已打开的非持久连接会在脚本执行完毕后自动关闭。
<?php
//连接,选择数据库$link = mysqli_connect(‘mysql_host’, ‘mysql_user’, ‘mysql_password’,‘my_database’) or die(‘Could not connect: ‘ . mysqli_error());mysqli_select_db(‘my_database’) or die(‘Could not select database’);
//执行 SQL 查询$query = ‘SELECT * FROM my_table’;$result = mysqli_query($query) or die(‘Query failed: ‘ . mysqli_error());……
mysqli_free_result($result); //释放结果集
mysqli_close($link); //关闭连接
?>
9.4.4错误处理函数
当mysql操作发生错误时,PHP可以调用内建的错误处理函数,来传回进一步的错误资讯,错误处理函数有mysqli_connect_error()与mysqli_error($link)。
mysqli_connect_error()--返回连接数据库时的错误信息。
<?php
//连接数据库$link = @mysqli_connect('localhost','root','','class');if(!$link) {//连接错误 die(mysqli_connect_error());}
?>
mysqli_error -- 返回上一个 MySQL 操作产生的文本错误信息
string mysqli_error ( [resource link_identifier] )
<?php
$sql = "select * from `student`";if(!$rs = mysqli_query($link,$sql)){ //sql语句执行错误 die(mysqli_error($link));}
?>
9.5知识运用
在以后的项目训练中,我们将频繁的使用此类技术,这些东西是不可缺少的。
网友评论