ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:1.24MB ,
资源ID:19960255      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19960255.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(04PDO增删改查预处理文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

04PDO增删改查预处理文档格式.docx

1、 key:获取当前下标 next:数组指针下移 rewind:重置指针 valid:判断当前指针是否有效,使用key函数判断数组下标快速排序:1.找到一个基准元素;2比较数组中其他所有元素;3.将与基准元素比较后的结果根据大小放到两个不同的数组中;4.数组递归调用函数自己;5.返回一个已经排好序的数组(array_merge() 递归点:数组 递归出口:数组元素只有一个(或者为空)的时候需求:一个项目,下面有两个团队:要求可以随意的切换数据库(mysql,Oracle),一个团队负责做mysql,一个团队负责做Oracle。(公共接口已经做好)但是以上解决方案需要用户每次去手动修改代码来继承不

2、同的类。PDOPDO:PHP Data Object,PHP数据对象(数据抽象层)作用:能够解决用户在需要使用不同的数据库的时候进行来回的切换,PDO能够自动的进行数据库的切换,而且还能将所有的有可能存在的不兼容的语法进行兼容性处理。加载PDO使用PDO之前必须要开启PDO扩展1. 在php.ini文件中找到PDO扩展开启Mysqlpdo扩展注:如果PHP版本比较低的情况下,需要额外的去开启pdo扩展,再开启pdo对应的数据库扩展2. 重启服务器使用PDOPDO这一套不单只是一个类,有三个类 PDO类:负责数据库的连接,分发还SQL语句的发送 PDOStatement类:结果集类,专门用来出来

3、查询的结果,还有其他功能(预处理) PDOException类:用异常机制处理PDO类所碰到的问题操作数据库步骤1. 连接认证:_construct($dsn,$user,$pass) $dsn:由两个部分构成:数据源,数据库信息mysql:host=localhost;port=3306;dbname=project$pdo = new PDO(mysql:dbname=project,root,root);2. 组织SQL语句3. 发送SQL语句给服务器,接收执行结果PDOStatement PDO:query:执行有结果集返回的查询语句4. 从结果集获取数据PDOStatement:fe

4、tch:从结果集中获取一行记录5. 关闭连接PDO没有提供关闭连接的方法unset(PDO对象);$pdo = null;PDO增删改查1. 新增数据2. 修改数据3. 删除数据4. 查询数据查询处理在查询得到的结果集处理时,默认的使用fetch得到的是一个混合数组,可以通过方法指定参数来修改获取数据的方式。fetch方法指定参数关联数组索引数组 fetchAll自定义获取所有结果集内容作业:使用while循环实现所有的结果集内容的遍历。fetchColumn意义1. 减少代码冗余2. 提高代码执行效率fetchObjectstdClass:标准类,空类$str = abcd;$o = (ob

5、ject)$str; /得到的对象就是stdClass对象指定自己类bindColumn与fetch为了操作方便,为了弥补fetchColumn只能获取一个字段值的缺陷。预处理在真正执行某条SQL语句之前,先将SQL语句准备好,在执行过程中再绑定数据语法:准备预处理prepare 预处理名字 from 要执行的SQL语句执行预处理 execute 预处理名字 using 变量预处理高级使用:可以在预处理过程中使用一些列不确定的内容。PDO预处理可以使用多种方式实现预处理:指的是在绑定数据进行执行的时候,可以有多种方式。使用数组指定预处理变量1. 准备预处理语句(发送给服务器,让服务器准备预处理

6、语句)prepare:类似exec将一条SQL语句发送给Mysql服务器2. 执行预处理:将要操作的数据发送给预处理语句,再执行预处理语句execute($array):数组用来传递对应的参数通过绑定变量bindParam:在执行预处理之前,将之前预处理语句所指定的变量进行赋值bindParam只能通过变量的形式进行赋值(引用传值)bindValue:与bindParam一样bindValue可以直接赋值(值传递)bindParam与bindValue的区别1. bindParam必须要先声明变量,再使用变量;bindValue可以直接使用值2. bindValue是一次性的,而bindPar

7、am可以无限使用(因为使用的引用传值,一旦变量的值进行改变,那么对应的组织SQL语句时所用到的变量的值也跟着改变)预处理语句使用原始?代替变量PDO事务处理事务处理流程1. 开启事务PDO:beginTransaction2. 事务操作所有的实务操作就是增删改3. 事务提交commit:成功后提交数据rollback:失败后回滚数据注意1. 要实现事务处理必须数据表的存储引擎为InnoDB2. 事务必须完整(开启提交)不适用PDO的事务处理,实现模拟事务。PDO属性设置设置PDO在处理数据的过程中采用什么方式去处理setAttribute:设置属性getAttribute:获取属性常用属性AT

8、TR_AUTOCOMMIT:设置当前连接Mysql服务器的客户端的SQL语句是否自动执行,默认是自动提交ATTR_CASE:当pdo从结果集中获取数据的时候,如何处理对应的字段的名字CASE_LOWER:将所有字段都小写显示CASE_UPPER:所有字段都大写显示CASE_NATURAL:原本怎么样就怎么样ATTR_ERRMODE:错误模式,当pdo出现错误的时候到底使用哪种模式进行处理ERRMODE_SILENT:静默模式,默认的出错了不管ERRMODE_WARNING:警告模式,如果出错了就会报出警告ERRMODE_EXCEPTION:异常模式,如果出错会采用异常来处理(PDOExcept

9、ion)ATTR_PERSISTENT:当前对Mysql服务器的连接是否是长连接TRUE:是长连接(长连接的使用必须要配合:Apache(connection:keepAlive),Mysqld)FALSE:默认的,非长连接什么情况下使用长连接?1. 不同的脚本的执行间距非常短,同时每个脚本都要操作数据库(Mysql:mysql_pconnect()PDO异常处理异常处理:当PHP碰到错误的时候,会直接报错,错误处理会变得相当麻烦。后来,当错误发生之后,会将错误信息不再直接输出,放到一个类的对象里(PDOException)要使用PDO异常处理1. 需要将错误处理模式变成异常模式2. 所有可能

10、出错的语句都必须放到错误捕捉语句块里try /错误捕捉语句块 /凡是有可能出现错误的语句都放在这 /一旦出错会立即进入catch语句,把所有的错误信息放到PDOexception $e里面catch(PDOExecption $e) /将错误信息进行处理 有的时候,如果数据执行没有任何错误,但是就是不符合指定的业务逻辑。一旦出现业务逻辑错误,异常是没有办法捕捉(异常只捕捉语法错误),一般认为的去通过判断语句的执行(结果),主动抛出异常,从而结束错误程序的运行。throw new PDOException;封装自己PDO见代码:MyPDO.class.php反射反射就是将其他类的结构给反应出来,从而可以对类的结构进行了解便于对类的使用。Reflection。ReflectionClass:export(要反射的类名)ReflectionClass类介绍几个方法getConstants:获取常量getProperties:获取所有属性getMethods:获取所有方法

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1