首页 / PHP / 001-PDO用法详细解析
001-PDO用法详细解析
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了001-PDO用法详细解析,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4391字,纯文字阅读大概需要7分钟。
内容图文
![001-PDO用法详细解析](/upload/InfoBanner/zyjiaocheng/139/44920163264f436ea73044a980f320c3.jpg)
《PDO》 41、作用 :能够解决用户在需要使用不同的数据库的时候进行来回的切换,PDO能够自动的进行数据库的切换。 42、使用PDO a)Php.ini文件找开启PDO扩展 43、使用PDO操作数据库基本步骤 a)连接认证 i.$pdo = new PDO(“mysql:host=localhost;port=3306;dbname=project”,”root”,”root”); ii.dbname 是进入的数据库 b)组织SQL语句 i.$sql = “show tables”; c)发送SQL语句,接收执行结果 i.$stmt = $pdo->query( $sql ); d)从结果集中获取数据 i.$stmt->fetch(); 44、PDO常用函数 a)stdClass 标准类 空类 b)PDO: i.exec( $sql ); 执行SQL语句,返回受影响的行数 (用于 增删改) ii.$stmt = query( $sql ); 执行SQL语句,返回PDOStatement对象 (用于 查) c)PDOStatement(结果集) i.$stmt->fetch( ); 返回一个关联数组+索引数组的集合 1.参1 PDO::FETCH_ASSOC 只返回关联数组 2.参2 PDO::FETCH_NUM 只返回索引数组 ii.$stmt->fetchAll() 获取结果集所有内容(参数同fetch()) iii.返回一个对象Object 1.class Persion{ } 2.$stmt->fetchObject( Persion) iv.bindColumn 和 fetch 绑定一列到一个变量 1.$stmt->bindColumn(‘s_name’,$name); 2.$stmt->bindColumn( 3 ,$number); //注意:索引从1开始 3.$stmt->fetch( ); 4.echo $name,$number d)PDO预处理 i.:s_name 这些 可以全用 ? 号代替(绑定数据时 就用索引值); ii.使用数组指定预处理变量 1.步骤: a)$sql = “insert into pro_student values(null,:s_name,:s_num,:s_gender,:s_age,:c_id)”; //sql b)$stmt = $pdo->prepare( $sql ); //发送预处理 c)给预处理绑定数据 i.$arr = array( ii. ‘:s_name’=>’房祖名’, iii. ‘:s_num’=>’itcast0001’, iv. ‘:s_gender’=>’男’, v. ‘:s_age’=>’28’, vi. ‘:c_id’=>’2’, vii.) d)$stmt->execute( $arr ); //执行预处理 iii.通过绑定变量的形式 1.步骤 a)$sql = “insert into pro_student values(null,:s_name,:s_num,:s_gender,:s_age,:c_id)”; //sql b)$stmt = $pdo->prepare( $sql ); //发送预处理 c)给预处理绑定数据 i.$name = “李莫愁”; ii.$num= “itcast0002”; iii.$gender = “女”; iv.$age = “30”; v.$c_id = “3”; vi.//将变量绑定给预处理 vii.$stmt->bindParam(‘:s_name’,$name); viii.$stmt->bindParam(‘:s_num’,$num); ix.$stmt->bindParam(‘:s_gender’,$gender); x.$stmt->bindParam(‘:s_age’,$age); xi.$stmt->bindParam(‘:c_id’,$c_id); d)$stmt->execute( ); //执行预处理 e)PDO事务处理 i.事务处理就是 增删改 ii.注意:数据表的存储引擎必须是 innoDB iii.事务处理流程 1.$pdo = new PDO(‘mysql:host=localhost;port=3306;dbname=project’,’root’,’root’); //连接认证 2.$res = $pdo->beginTransaction(); //开启事务 3.事务处理 a)$sql = “updata pro_student set s_age=28 where s_id=20”; b)$lines = $pdo->exec( $sql ); //返回受影响的行数 c)$sql = “select * from pro_student where s_id=20”; d)$stmt = $pdo->query( $sql ); e)$stmt->fetch(PDO::FETCH_ASSOC); 4.提交事务 a)if( $links ){ b) $pdo->commit(); //更新成功 c)}else{ d) $pdo->rollBack(); //更新失败 回滚数据 e)} f)PDO 属性设置 i.设置PDO在处理数据的过程中采用什么方式去处理 ii.PDO::getAttribute(); //获取属性 iii.PDO::setAttribute(); //设置属性 iv.示例: 1.$pdo = new PD(‘mysql:host=localhost;port=3306;dbname=project’,’root’,’root’); //连接认证 2.$peo->getAttrbute(PDO::ATTR_AUTOCOMMIT); //获取 自动提交属性 3.$pdo->setAttrbute(PDO::ATTR_AUTOCOMMIT,0) //设置 关闭自动提交 v.参数记忆: 1.PDO::ATTR_CASE 强制列名为指定的大小写 a)PDO::CASE_LOWER 强制小写 b)PDO::CASE_UPPER 强制大写 vi...... 更多请参考手册 ...... g)PDO异常处理 i.try{ ii. //设置错误处理模式(必须设置才能生效) iii. $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); iv. //一旦出错立即进入catch语句 v.}catch(PDOException $e){ vi. $e->getTrace(); //获取完整的错误数据 vii. $e->getFile(); //获取错误文件 viii. $e->getLine(); //获取错误行号 ix. $e->getMessage(); //获取错误原因 x.} h)反射: i.反射就是将其他类的结构给反应出来,从而可以对类的结构进行了解便于对类的使用 ii.Reflection iii.reflectionClass::export(要反射的类名) iv.调用reflectionClass的静态方法 v.var_dump( reflectionClass::export(‘PDO’) ); vi vii.$rc = new ReflectionClass(‘PDO’); //创建ReflectionClass对象 viii.var_dump( $rc->getProperties() ); //获取全部属性 ix.var_dump( $rc->getMothods() ); //获取全部方法 x.var_dump( $rc->getConstants() ); //获取全部常量
以上就是001 - PDO 用法详细解析的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的001-PDO用法详细解析全部内容,希望文章能够帮你解决001-PDO用法详细解析所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。