分享

PHP教程(12)php操作MySQL +案例小项目分析+分页流程

 知识书馆 2022-07-17 发布于广东

回顾

查询:分组(group by:统计),having(条件),排序(order by),限制(limit offset,length

联合查询:记录叠加,排序(order by1.必须配合limit,查询子句必须使用括号)

子查询:子查询分类(标量,列,行(构建行元素)和表(数据源:from之后))

视图:虚拟表(有结构,没有数据),视图数据操作


PHP操作MYSQL

1.      mysql是什么软件结构?

c/s软件结构

必须通过客户端才能访问服务器。

2.      php操作mysql是个什么意思?

php模拟客户端,去操作数据库。

PHP不能操作mysqlmysqlphp提供了一个可以操作的扩展,php需要加载该扩展就可以实现操作数据库。

PHP操作数据库过程

1.      加载mysqlphp提供的操作扩展

a)        允许php去加载扩展

b)        指定扩展路径

PHP已经成为了可以操作mysql服务器的客户端。

2.      连接认证:找到mysql服务器所在的电脑以及所监听的端口,然后输入正确的用户名和密码:mysql.exe –h主机 –P端口 –u用户名 –p密码

PHP操作mysql,通过函数mysql_connect连接操作

resource mysql_connect(主机地址:端口,用户名,密码); //连接资源

多次连接,返回是同一个连接资源

PHP可以通过mysql_connect的第四个参数来指定,是否获取不同的连接资源,默认的是同一个资源。

3.      PHP作为客户端:准备SQL语句

4.      PHP作为客户端:发送SQL语句/接收返回的执行结果

mixed mysql_query(要发送的SQL语句[,指定的连接资源]);

         布尔类型结果:要执行的SQL语句没有返回值

         返回值类型结果:要执行SQL语句有返回结果,返回的结果是一个资源:结果集资源

5.      php作为客户端:解析返回结果(资源)

mixed mysql_fetch_row(结果集资源):从结果集中取出一行记录,将该记录的所有字段的数据当做一个个元素存放到一个数组里面,数组的下标是自动生成(索引):应用的原理是结果集指针,如果有数据返回数组,没有数据返回false

6.      释放资源:断开连接,把连接资源给释放

mysql_free_result(结果集资源):释放结果集资源

mysql_close(连接资源):断开连接资源

流程图

完整PHP操作mysql

1.      要对可能出现的错误进行处理

mysql_errno()mysql出错的错误编号

mysql_error()mysql出错的错误描述

2.      对数据结果进行完整处理

1.      连接认证

2.      设置字符集

3.      选择数据库

4.      数据操作:增删改查

4.1    新增数据

新增数据的情况下,通常会去获得新增数据的自增长id

mysql_insert_id():获取上一次新增操作的自增长id,如果没有自增长就是0

4.2    查询操作

可以通过三个函数对结果集进行操作,得到的结果不一样,都是返回数组

mysql_fetch_array(结果集资源[,获取模式]):从结果集中取出一样记录,返回一个关联索引数组是默认的,也可以通过获取模式来指定获取方式,可以是索引的,也可以是关联的。

mysql_fetch_row():获取一个索引数组,内部就是通过mysql_fetch_array(,MYSQL_NUM)

mysql_fetch_assoc():获取一个关联数组,键名是表中的字段名,值是字段对应的数据

以上三个函数:都是通过结果集指针移动来实现,获取完数据之后会移动指针(指针下移)

5.      释放资源

释放结果集资源和连接资源

项目

项目任务

使用php+mysql编程,做一个动态网站。

1.      确定任务

做一个简单学员管理系统,需要登录后才能查看学生信息

2.      需求分析

功能:登录功能,注册功能,查看学生信息(分页)

数据库:用户表,学生信息表,班级表,教师表

注册功能

1.      制作表单

2.      制定表单提交的脚本

3.      创建服务器脚本:判断用户请求的方式(直接访问/提交)

4.      接收用户提交的数据

5.      数据合法性验证:用户名和密码不能为空,两次输入的密码必须得一致;密码长度限制

6.      出现重复代码:提取重复代码,存放到公共文件中,public.php

7.      使用公共文件:在需要使用的脚本中引入公共文件。register.php

应用

8.      数据有效性验证:用户名必须唯一,在数据库中不存在

数据库初始化:公共文件中(会被多个脚本重复利用)

调用公共文件

查询公共函数

调用查询公共函数

9.      插入数据库

登录功能

1.      增加登录表单

2.      修改提交脚本对象:form表单

3.      创建登录脚本login.php

4.      引入公共文件

5.      接收用户提交的信息

6.      合法性验证:都不能为空

7.      有效性验证:验证用户信息

显示功能

1.      新增一个后台的处理php脚本的界面:index.php

2.      登录成功跳转到index.php

3.      增加头部显示数据:显示欢迎语句

登录成功之后,需要将当前用户的信息传递给index.php

应该在index.php界面中接收用户信息

index.html中显示用户信息

4.      增加左侧菜单显示

5.      显示学生信息(右侧内容)

增加显示格式:index.html

增加显示的数据:index.php

显示所有数据:index.html

6.      分页功能

增加分页连接

分页连接请求脚本确定:index.php

确定分页条件:页码和每页显示的数据长度,index.php

确定limit条件:offsetlength

修改SQL语句,查询不通页的数据

求出对应的页码:上一页,下一页和末页

将页码放到对应的a链接

7.      因为当前index.php是通过参数username判断用户是否登录,必须保证点击分页的时候用户是登录了的,携带用户参数。

知识应用

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多