PHP+MySQLl网站开发项目式教程项目二 模块三 PHP操作数据库.ppt

PHP+MySQLl网站开发项目式教程项目二 模块三 PHP操作数据库.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上述代码演示了如何通过 mysqli_query() 函数执行 SQL 语句、获取结果集,以及通过 mysqli_error() 函数获取错误信息。当 SQL 语句执行失败时,$result的值为 false,因此通过判断就可以输出错误信息并停止脚本执行。 执行SQL语句 任务三:执行SQL语句 当通过 mysqli_query() 函数执行 SQL 语句后,返回的结果集并不能直接使用,需要使用函数从结果集中获取信息,保存为数组。MySQLi 扩展中常用的处理结果集的函数如表所示。 处理结果集 任务四:处理结果集 处理结果集 基本步骤 MySQL扩展 MySQLi扩展 连接和选择数据库 mysql_connect() mysqli_connect() 执行SQL语句 mysql_query() mysqli_query() 处理结果集 mysql_fetch_array() mysqli_fetch_array() 释放结果集 mysql_free_result() mysqli_free_result() 关闭连接 mysql_close() mysqli_close() 任务四:处理结果集 处理结果集 在表列举函数中,mysqli_fetch_all() 和 mysqli_fetch_array() 的返回值支持关联数组和索引数组两种形式,函数第 1 个参数表示结果集,第 2 个参数是可选参数,表示返回的数组形式,其值有 MYSQLI_ASSOC、MYSQLI_NUM、MYSQLI_BOTH 三种常量,分别表示关联数组、索引数组,或两者皆有,默认值为 MYSQLI_BOTH。 任务四:处理结果集 处理结果集 示例:连接并选择“内容管理系统”的数据库,查询“栏目”表中的所有记录。具体代码如下。 ——获取结果集 //连接数据库,选择“itcast_cms”数据库 $link = mysqli_connect('localhost', 'root', '123456', 'itcast_cms'); //设置字符集 mysqli_set_charset($link, 'utf8'); //查询“cms_category”表中所有的数据 $result = mysqli_query($link, 'select * from `cms_category`'); 任务四:处理结果集 处理结果集 示例:当需要一次查询一行记录时,可以通过 mysqli_fetch_assoc()、mysqli_fetch_row() 或 mysqli_fetch_array() 来实现,以 mysqli_fetch_assoc()为例,具体代码如下。 —— 一次查询一行记录 //通过循环将结果集中所有的记录全部读取 while($row = mysqli_fetch_assoc($result)){ echo $row['name']; //输出“name”字段的值 } 任务四:处理结果集 处理结果集 上述代码中 mysqli_fetch_assoc() 函数用于获取结果集中的一行,因此与while 循环配合使用,可以将结果集中的数据全部取出来,直到该函数返回 false,跳出 while 循环。 —— 一次查询一行记录 任务四:处理结果集 处理结果集 当需要一次查询出所有的记录时,可以通过 mysqli_fetch_all() 函数来实现,具体代码如下。 —— 一次查询所有记录 //查询所有记录,获取关联数组结果 $data = mysqli_fetch_all($result, MYSQLI_ASSOC); //打印数组结构 var_dump($data); //每行记录是一个数组,所有的行组成了$data数组 任务四:处理结果集 处理结果集 上述代码在调用mysqli_fetch_all()函数时传入了第2个参数 MYSQLI_ASSOC,表示返回关联数组结果。$data是一个包含所有行的二维数组,当访问第1行记录中的“name”时,可以通过“$data[0]['name']”进行访问。使用 var_dump() 函数可以查看该数组的结构。 —— 一次查询所有记录 任务四:处理结果集 什么是预处理语句 MySQLi 扩展中有一种预处理语句的机制,其原理是预先编译 SQL 语句的模板,当执行时只传输有变化的数据。下图演示了预处理语句和传统方式的区别。 任务五:预处理语句 什么是预处理语句 从图中可以看出,当 PHP 需要执行 SQL 时,传统方式是将发送的数据和 SQL 写在一起,这种方式每条 SQL 都需要经过分析、编译和优化的周期;而预处理语句只需要编译一次用户提交的 SQL 模板,在操作时,发送相关数据即可完成更新操作,

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档