有关PDO小结
来源:互联网 发布:mac读取移动硬盘 编辑:程序博客网 时间:2024/06/03 17:34
<?php/** * Created by PhpStorm. * User: zhukang * Date: 2017/10/14 * Time: 10:58 *///1.设置头信息header("content-type:text/html;charset=utf8");//2.实例化PDO对象$dbms="mysql";$dbname="project";$user="root";$password="zkzk";$dns="$dbms:host=localhost;dbname=$dbname";//$pdo=new PDO("mysql:host=localhost;dbname=project","root","zkzk");$pdo=new PDO($dns,$user,$password);/*PDO类 :PDO的核心,主要用于数据的连接、发送SQL语句等…PDOStatement类 :主要用于解析结果集,实现预处理、事务处理等特殊功能…PDOException类 :主要用于捕获PDO异常*//*mysql中的预处理//1、创建预处理语句prepare 预处理指令 from SQL语句(insert/delete/update/select)//2、设置参数set @value = value;//3、执行预处理execute 预处理指令;*//*mysql中的事务处理① 开启事务1)标准事务:start transaction;当提交或回滚一个事务之后,事务结束。接下来的操作不在事务操作范围之内。2)语句事务:set autocommit = 0;当提交或回滚一个事务之后,事务不会终止,后面的操作仍处于事务之中。② 提交事务:commit;③ 回滚事务:rollback;*//*PDO中的异常捕获基本语法:try { 存在潜在错误的代码; if(逻辑错误) { //手工输出异常 throw new PDOException(‘错误的文本信息’,’错误号’);}} catch(PDOException $e) { echo ‘错误号:’.$e->getCode(); echo ‘错误行号:’.$e->getLine(); echo ‘错误的文本信息:’.$e->getMessage();*/#$pdo下的一些方法//1.SQL insert update delete 的操作$num=$pdo->exec($sql);//2.最后一条插入的ID数$pdo->lastInsertId();//3.select 返回的是一个结果集 statment对象$statment=$pdo->query($sql);//4.定义预处理语句$statment=$pdo->prepare($sql);//5.开启事务处理$pdo->beginTransaction();//6.提交事务$pdo->commit();//7.回滚事务$pdo->rollBack();//8.设置属性$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);//9.获取常用属性值$pdo->getAttribute(PDO::ATTR_AUTOCOMMIT);//自动提交$PDO->getAttribute(PDO::ATTR_CASE);//大小写$PDO->getAttribute(PDO::ATTR_PERSISTENT);//长连接//10.设置长连接$data=array(PDO::ATTR_PERSISTENT=>true);$pdo=new PDO($dsn,$user,$password,$data);//11.设置常用属性值$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,0);//关闭自动提交//结果集字段全部转化为小写2$pdo->setAttribute(PDO::ATTR_CASE,PDO::CASE_LOWER);#$statment下的一些方法//1.返回数据表的总行/列数$statment->rowCount();$statment->columnCount();//2.把一条记录遍历到关联型数组中/*获取结果集的五种方法PDO::FETCH_ASSOC :把一条记录遍历到关联数组中PDO::FETCH_NUM :把一条记录遍历到索引型数组中PDO::FETCH_BOTH :把一条记录遍历到混合型数组中PDO::FETCH_OBJ :把一条记录遍历到对象中PDO::FETCH_BOUND (bindColumn) :把某个变量绑定到结果集中的某个列*/$statment->fetch(PDO::FETCH_ASSOC);//3.使用bindColumn实现列绑定 把变量$id绑定到结果集中的第一列$statment->bindColumn(1,$id);//4.制定fetch的绑定方式为PDO::FETCH_BOUND,否则bindColumn不会生效$statment->fetch(PDO::FETCH_BOUND);//5.把数据表中的所有记录返回到一个二维数组中$data=$statment->fetchAll(PDO::FETCH_ASSOC);//6.遍历结果集当前行的某一列信息 第几列,从0开始$id=$statment->fetchColumn(0);//7.定义预处理语句$statment=$pdo->prepare($sql);//8.使用execute实现参数传递$statment->execute($data);//9.绑定参数$statment->bindParam(":username",$username);//:文本标识符$statment->bindParam(1,$username);//?标识符#PDOException类catch(PDOException $e);//$e对象下的一些方法$e->getCode();$e->getLine();$e->getMessage();/*PDO扩展技术总结① PDO扩展技术PDO的基本概念以及为什么需要PDOPHP Data Object :PHP 数据 对象是一个轻量级的、具有兼容接口的php数据连接扩展。作用:连接不同类的数据库。② PDO类(增删改查)增删改:$pdo->exec($sql) 返回受影响的行数查询:$pdo->query($sql) 返回PDOStatement类,fetch方法、fetchAll方法、fetchColumn方法③ PDO中的预处理减少SQL语句的传递,只传递相关的参数,这样可以减少带宽的浪费prepare stmt1 from ‘insert into tb_admin values (null,?,?,?)’;设置参数set @参数 = 参数的值;执行预处理execute stmt1 using @参数;④ PDO中的事务处理开启事务beginTransaction()提交事务commit()回滚事务rollback()⑤ 异常类PDOExceptiontry { //存在潜在错误的语句 if(逻辑错误) { //手工抛出异常 throw new PDOException(‘错误信息’,’错误号’);}} catch(PDOException $e) { echo $e->getCode(); echo $e->getLine(); echo $e->getMessage();}⑥ 属性的设置与获取setAttributegetAttribute*/
阅读全文
0 0
- 有关PDO小结
- php PDO 方式操作数据库小结
- 有关指针的小结
- 有关SCN的小结
- 有关约瑟夫问题小结
- pdo
- pdo
- pdo
- pdo
- pdo
- PDO
- PDO
- PDO
- PDO
- pdo
- PDO
- PDO
- PDO
- eclipse+maven+kotlin+web+Spring+springMVC+ibatis的环境配置
- C语言获取计算机系统参数
- [Light oj] 1245
- 十种编程语言的特点和领域
- 五种典型开发周期模型(瀑布、V、原型化、螺旋、迭代)
- 有关PDO小结
- 向字符串中指定位置插入字符
- HDU-2199 Can you solve this equation
- Gogs 安装教程(最简单版)
- 100个球两个人每次最多取五个最少取一个求必胜方法.
- 【深入PHP 面向对象】读书笔记(十七)
- 基于Qt的收银点餐系统之多个相同子控件与父控件间的交互
- 菲波那切数列解法
- [BZOJ]4568: [Scoi2016]幸运数字 倍增+线性基