PHP与MySQL程序设计:014-PHP中操作数据库

上传人:re****.1 文档编号:572361676 上传时间:2024-08-13 格式:PPT 页数:13 大小:247.50KB
返回 下载 相关 举报
PHP与MySQL程序设计:014-PHP中操作数据库_第1页
第1页 / 共13页
PHP与MySQL程序设计:014-PHP中操作数据库_第2页
第2页 / 共13页
PHP与MySQL程序设计:014-PHP中操作数据库_第3页
第3页 / 共13页
PHP与MySQL程序设计:014-PHP中操作数据库_第4页
第4页 / 共13页
PHP与MySQL程序设计:014-PHP中操作数据库_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《PHP与MySQL程序设计:014-PHP中操作数据库》由会员分享,可在线阅读,更多相关《PHP与MySQL程序设计:014-PHP中操作数据库(13页珍藏版)》请在金锄头文库上搜索。

1、PHPPHP中操作数据库中操作数据库PDO的优势uPHPDataObject,现已成为PHP最主流的数据库驱动u提供轻量级、清晰、方便的APIu统一各种RDBMS的共有特性和操作方法,差异化高级特性u易于抽象实现和兼容性开启PDO扩展u修改php.ini,去掉php_pdo.dll及php_pdo_mysql.dll的注释连接数据库u通过newPDO对象来建立数据库连接u通过在数据源名称中加入charset=utf8来指定字符集设置连接属性通过PDO:setAttribute()方法设置连接属性uPDO:ATTR_CASE设置返回结果集的字段大小写uPDO:ATTR_ERRMODE设置错误报告

2、方式uPDO:ATTR_PERSISTENT设置是否持久连接,默认为FALSEuPDO:DEFAULT_FETCH_MODE设置返回结果集的默认读取模式(关联数组、索引数字、对象等)操作方法u主要有PDO:query()、PDO:exec()及PDO:prepare()几种操作方法uPDO:query()主要用于有记录返回的操作,例如SELECTuPDO:exec()主要针对没有结果集返回的操作,例如INSERT、UPDATE、DELETE等操作,返回当前SQL执行后影响的记录数uPDO:prepare()主要用于以绑定变量的方式进行安全的操作执行操作u通过PDO:exec($sql)方法执行

3、指定的SQL语句u该方法返回该SQL语句所影响的记录数u通过PDO:lastInsertId()返回该插入操作生成的自增id$sql = exec($sql);var_dump($res);/1,插入1条新的数据查询操作u通过PDO:query($sql)方法获取指定的SQL查询的结果集u该方法返回该语句对应的PDOStatementu通过PDOStatement:fetch()方法循环遍历结果集u通过PDOStatement:fetchAll()方法一次性获取所有结果集数组$sql = “SELECT * FROM students ORDER BY id ASC”$statement =

4、$db-query($sql);while($r = $statement-fetch(PDO:FETCH_ASSOC) var_dump($r); $sql = “SELECT * FROM students ORDER BY id ASC”$statement = $db-query($sql);$allStudents = $statement-fetchAll();查询操作u通过PDOStatement:fetch()/fetchAll()方法的参数设置返回结果集的格式uPDO:FETCH_ASSOC返回字段名的关联数组uPDO:FETCH_NUM返回索引方式的数组uPDO:FETCH

5、_BOTH(default):综合返回以上两种方式uPDO:FETCH_OBJ以对象方式返回,字段名对应属性$sql = “SELECT * FROM students ORDER BY id ASC”$statement = $db-query($sql);$allStudents = $statement-fetchAll(PDO:FETCH_ASSOC);SQL注入介绍u所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令uSQL注入的一般方式就是通过提交特殊参数构造SQL语句u通过WHERE子句改变返回结果集u

6、通过错误的SQL导致服务器报错显示出错误信息$id = 0 OR 1=1;$sql = “SELECT * FROM students WHERE id=$id“$res = $db-query($sql)-fetch();SQL注入防范u对用户输入进行严格的类型校验及强制转型u不要使用动态拼接的SQL,使用绑定变量的方式u屏蔽服务器错误报告u上线前通过APPScan等工具进行全站安全扫描绑定变量u使用PDO:prepare($sql)准备执行u通过PDOStatement:execute($bindParams)绑定变量并立即执行SQLu通过PDOStatement:bindParam()方法绑定变量$sql = “SELECT * FROM students WHERE id=:id”$statement = $db-prepare($sql);$statement-execute(:id=$id);$sql = “SELECT * FROM students WHERE id=:id”$statement = $db-prepare($sql);$statement-bindParam(:id, $id);$statement-execute();参考uPHP与MySQL程序设计第31章uhttp:/

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号