- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
兄弟连PHP视频教程下载-PDO
PDO PDO简介 PDO(PHP Data Objects Layer)提供一个公共的数据库系统接口,它使用C语言做底层开发,运行速度比较快。PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层 PDO以PHP5.1为基础进行设计,严格意义上讲归为PHP 5的SPL库之一,与MySQLi扩展功能相似 PDO的安装 安装PDO MySQL驱动 Linux:cd /ports/database/pecl-PDO_MYSQLmake install Windows:自带,不需要安装 配置文件 Linux:extension=pdo_mysql.so Windows:extension=pdo_mysql.dll PDO类 query() exec() prepare() quote() beginTransaction() rollBack() commit() errorCode() errorInfo() setAttribute() getAttribute() lastInsertId() PDOStatement类 execute() fetch() fetchAll() fetchColumn() setFetchMode() rowCount() setAttribute() getAttribute() errorCode() errorInfo() bindParam() bindColumn() bindValue() nextRowset() columnCount() rowCount() nextRowset() getColumnMeta() closeCursor() PDO连接数据库 PDO连接数据库和其他数据库抽象层区别不大 try{ $con=new PDO(mysql:host=localhost;dbname=book,root,root); //如果连接失败,则抛出异常 }catch(PDOException $e){ echo $e-getMessage(); } 连接字符串 MySQL mysql:host=$host;dbname=$db SQLite sqlite:$db PostgreSQL pgsql:host=$host dbname=$db, 持久连接 持久连接速度快,不用每次开关连接。 $opt=array(PDO::ATTR_PERSISTENT = TRUE); try{ $con=new PDO(mysql:host=localhost;dbname=book,root,root,$opt); //如果连接失败,则抛出异常 }catch(PDOException $e){ echo $e-getMessage(); } DSN-ODBC连接 使用一个DSN数据源名称,定义ODBC数据源驱动连接 ini_set(pdo.dsn.dbserver,mysql::test); try{ $con=new PDO(dbserver); //如果连接失败,则抛出异常 }catch(PDOException $e){ echo $e-getMessage(); } 错误与异常处理 设置PDO获取得错误信息的方式 $con-setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXECPTION); PDO::ERROR_SILENT PDO::ERROR_WARNING PDO::ERROR_EXCEPTION 面向过程 $con-errorCode():SQL语句错误代码 $con-errorInfo():错误信息 面向对象 捕获PDOException异常对象 使用PDO查询 PDO的查询方式 直接查询 $rs=$con-exec(select * from books); $rs=$con-query(select * from books); 预处理 $st=$con-prepare(select * from books where id=? and name=?); $st-execute(array(201,alex)); $row=$st-fetch(); 获取查询结果 获取查询结果包括:数组、字符串、对象、回调函数等 fetchColumn() fetch() fetchAll() setFetchMode() PDO::FETCH_NUM PDO::FETCH_ASSOC PDO::FETCH_CLASS $sql=SELECT * FROM books; $rs = $conn-query($sql); while($row = $rs-f
文档评论(0)