回顾查询:分组(group by:统计),having(条件),排序(order by),限制(limit offset,length) 联合查询:记录叠加,排序(order by:1.必须配合limit,查询子句必须使用括号) 子查询:子查询分类(标量,列,行(构建行元素)和表(数据源:from之后)) 视图:虚拟表(有结构,没有数据),视图数据操作 PHP操作MYSQL1. mysql是什么软件结构? c/s软件结构 必须通过客户端才能访问服务器。 2. php操作mysql是个什么意思? php模拟客户端,去操作数据库。 PHP不能操作mysql,mysql为php提供了一个可以操作的扩展,php需要加载该扩展就可以实现操作数据库。 PHP操作数据库过程1. 加载mysql为php提供的操作扩展 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操作mysql1. 要对可能出现的错误进行处理 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条件:offset和length 修改SQL语句,查询不通页的数据 求出对应的页码:上一页,下一页和末页 将页码放到对应的a链接 7. 因为当前index.php是通过参数username判断用户是否登录,必须保证点击分页的时候用户是登录了的,携带用户参数。 知识应用 |
|