- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库抽象层 PDO
数据库抽象层 PDO 作用: 1.PDO:数据库抽象层 2.统一了各种数据库的访问接口,能够轻松的在不同数据库之间进行切换,使得数据库的移植容易实现。 应用模式: PDO在运行时自动加载相应的数据库驱动程序。 查看驱动: 1.phpinfo() 2.查看pdo_drivers()函数返回的数组 PDO的安装: 1.extension=pdo_pdo.dll //所有PDO驱动程序共享的扩展,必须有 2.(激活php.ini) a.extension=php_pdo_mysql.dll b.extension=php_pdo_mssql.dll(SQL Server) c.extension=extension=php_pdo_odbc.dll(ODBC) d.extension=php_pdo_oci.dll (Oracle) 3.重启Apache 创建PDO对象: 1.pdo类 PDO { __construct ( string $dsn [, string $username [, string $password [, array ] ...... } 实例化: $dbh=new PDO(string $dsn [, string $username [, string $password [, array ] ) 数据源名称 1.直接书写数据源名称字符串 //$dsn = mysql:host=localhost;dbname=psd1406; //$dsn = oci:dbname=localhost/psd1406; 另外: 2.读取dsn文件(不推荐使用) //$dsn = uri:file:///F:/wwwpdo/dsn.txt 3.读取配置文件的内容 a)Php.ini当中添加 i.[PDO] ii.Pdo.dsn.mydsn=”mysql:host=localhost;dbname=psd1406” b)在php当中指定dsn名称 i.$dsn = “mydsn”; 调整PDO的行为属性 在创建PDO对象时若没有指定第4各参数,也可以在对象创建完后通过PDO对象中的setAttiibute()和getAttribute()方法设置和获取这些属性。 PDO的错误处理模式 PDO::ATTR_ERRMODE:错误报告。 1.PDO::ERRMODE_SILENT: 仅设置错误代码。 2.PDO::ERRMODE_WARNING: 引发 E_WARNING 错误 3.PDO::ERRMODE_EXCEPTION: 抛出 exceptions 异常。 使用PDO执行sql语句 PDO::exeec()方法:当执行insert,update,delete等没有结果集的查询语句时使用。 返回:受影响的行数 注意:不能用于select查询 使用PDO::query()方法 当执行返回结果集的select查询时,或者所影响的行数无关紧要时候用。 执行成功返回一个:PDOStatement对象(结果集) 如果使用了query()方获,可用rowCount()方法获取数据行总数 PDO预处理机制 PDOStatement对象: PDO对于处理语句的支持需要PDOStatement类对象,但该类不是通过new 实例化出来的而是通过PDO对象中的prepare()方法,在数据库中准备好一个SQL语句后直接返回的。 贮备语句 $dbh-prepare(insert into psd1406(name,address,phone)values(:name,:address,:phone)) $dbh-prepare( insert into psd1406(name,address,phone)values(?,?,?) 绑定参数 bool PDOStatement::bindParam ( mixed $parameter , mixed $variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] ) bool PDOStatement::bindColumn ( mixed $column , mixed $param [, int $type [, int $maxlen [, mixed $driverdata ]]] ) bool PDOStatement::bindValue ( mixed $parameter , mixed $value [, int $data_type = PDO::PARAM_STR ] ) 执行准备好的查询 调用PDOState
文档评论(0)