PDO的环境配置:开启支持PDO 在php.ini配置文件中开启:extension=php_pdo.dllextension=php_pdo_mysql.dll在PDO操作中涉及到类:PDO、PDOStatement(预处理对象)、PDOException(异常类)一、 PDO类的构造方法:-------------------------------------------
PDO的环境配置:开启支持PDO 在php.ini配置文件中开启: extension=php_pdo.dll extension=php_pdo_mysql.dll 在PDO操作中涉及到类:PDO、PDOStatement(预处理对象)、PDOException(异常类) 一、 PDO类的构造方法: --------------------------------------------------------- PDO __construct( string dsn [, string username [, string password [, array driver_options]]] ); 其中:dsn数据库连接信息如“mysql:host=localhost;dbname=库名” dsn的格式:”驱动名:host=主机名;dbname=库名“ username:用户名 password:密码 driver_options:配置选项: 如: PDO::ATTR_PERSISTENT=>true,是否开启持久链接 *PDO::ATTR_ERRMODE=>错误处理模式:(可以是以下三个)(3) PDO::ERRMODE_SILENT:不报错误(忽略)(0) PDO::ERRMODE_WARNING:以警告的方式报错(1) *PDO::ERRMODE_EXCEPTION:以异常的方式报错(推荐使用)。(2) $pdo = new PDO("mysql:host=localhost;dbname=lamp36db","root","root"); $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 其他方法: -------------------------------------------------------- 1. query($sql); 用于执行查询SQL语句。返回PDOStatement对象 2. exec($sql); 用于执行增、删、改操作,返回影响行数; 3. getAttribute(); 获取一个"数据库连接对象"属性。 4. setAttribute(); 设置一个"数据库连接对象"属性。 5. beginTransaction 开启一个事物(做一个回滚点) 6. commit 提交事务 7. rollBack 事务回滚操作。 8. errorCode 获取错误码 9. errorInfo 获取错误信息 10.lastInsertId 获取刚刚添加的主键值。 11.prepare 创建SQL的预处理,返回PDOStatement对象 12.quote 为sql字串添加单引号。 预处理对象PDOStatement对象: ============================================= 我们可以通过PDO的方法来获取PDOStatement: 1.PDO的query(查询sql)方法获取,用于解析结果集 2.PDO的prepare(SQL)方法获取,用于处理参数式sql并执行操作。 PDOstatement对象的方法: ---------------------------------------------------------------- 1、fetch() 返回结果集的下一行,结果指针下移,到头返回false 。 参数: PDO::FETCH_BOTH (default)、:索引加关联数组模式 PDO::FETCH_ASSOC、 :关联数组模式 PDO::FETCH_NUM、 :索引数组模式 PDO::FETCH_OBJ、 :对象模式 PDO::FETCH_LAZY :所有模式(SQL语句和对象) 2、fetchAll() 通过一次调用返回所有结果,结果是以数组形式保存 参数:PDO::FETCH_BOTH (default)、 PDO::FETCH_ASSOC、 PDO::FETCH_NUM、 PDO::FETCH_OBJ、 PDO::FETCH_COLUMN表示取指定某一列, 如:$rslist = $stmt->fetchAll(PDO::FETCH_COLUMN,2);取第三列 3、execute() 负责执行一个准备好了的预处理语句 4. fetchColumn()返回结果集中下一行某个列的值 5. setFetchMode()设置需要结果集合的类型 6. rowCount() 返回使用增、删、改、查操作语句后受影响的行总数 7. setAttribute()为一个预处理语句设置属性 8. getAttribute()获取一个声明的属性 9. errorCode() 获取错误码 10. errorInfo() 获取错误信息 11. bindParam() 将参数绑定到相应的查询占位符上 bool PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type [, int $length [, mixed $driver_options ]]] ) 其中: $parameter:占位符名或索引偏移量 &$variable:参数的值,需要按引用传递也就是必须放一个变量 其中参数:$data_type:数据类型PDO::PARAM_BOOL/PDO::PARAM_NULL/PDO::PARAM_INT/PDO::PARAM_STR/ PDO::PARAM_LOB/PDO::PARAM_STMT/PDO::PARAM_INPUT_OUTPUT $length:指数据类型的长度 $driver_options:驱动选项。 12. bindColumn() 用来匹配列名和一个指定的变量名,这样每次获取各行记录时,会自动将相应的值赋给变量。 13. bindValue() 将一值绑定到对应的一个参数中 14. nextRowset() 检查下一行集 15. columnCount() 在结果集中返回列的数目 16. getColumnMeta() 在结果集中返回某一列的属性信息 17. closeCursor() 关闭游标,使该声明再次执行 在PDO中参数式的SQL语句有两种(预处理sql): 1.insert into stu(id,name) value(?,?); //?号式(适合参数少的) 2.insert into stu(id,name) value(:id,:name); // 别名式(适合参数多的) 在PDO中为参数式SQL语句赋值有三种: 1.使用数组 $stmt->execute(array("lamp1404","qq2")); $stmt->execute(array("id"=>"lamp1404","name"=>"qq2")); 2.使用方法单个赋值 $stmt->bindValue(1,"lamp1901"); $stmt->bindValue(2,"qq2"); $stmt->execute(); $stmt->bindValue(":id","lamp1901",PDO::PARAM_STR); //带指定类型 $stmt->bindValue(":name","qq2",PDO::PARAM_STR); $stmt->execute(); 3. 使用方法绑定变量 $stmt->bindParam(":id",$id); $stmt->bindParam(":name",$name); $id="lamp1401"; $name="qq2"; $stmt->execute(); 事务处理 ----------------------------------------------- 事务:将多条sql操作(增删改)作为一个操作单元,要么都成功,要么都失败。(如果一次插入多条数据,一条执行失败,数据回滚,全部删除)----- 4. PDO对事务的支持 第一:被操作的表必须是innoDB类型的表(支持事务) MySQL常用的表类型:MyISAM(非事务)增删改速度快、InnodB(事务型)安全性高 //更改表的类型为innoDB类型 mysql> alter table stu engine=innodb; Query OK, 29 rows affected (0.34 sec) Records: 29 Duplicates: 0 Warnings: 0 //查看表结构 mysql> show create table stu\G; 第二:使用PDO就可以操作数据库了 使用到了PDO中的方法: beginTransaction 开启一个事物(做一个回滚点) commit 提交事务 rollBack 事务回滚操作。 使用情况:当做多条sql语句处理时(增删改),要求是都必须成功。

PHP作为一种流行的Web开发语言,已经被使用了很长时间。PHP中集成的PDO(PHP数据对象)类是我们在开发Web应用程序过程中与数据库进行交互的一种常用方法。但是,一些PHP开发者经常遇到的问题是,当使用PDO类与数据库进行交互时,他们会收到这样的错误:PHPFatalerror:CalltoundefinedmethodPDO::prep

PHP作为一种流行的编程语言,在Web开发领域中有着广泛的应用。其中,PHP的PDO_PGSQL扩展是一种常用的PHP扩展,它提供了与PostgreSQL数据库的交互接口,可以实现PHP与PostgreSQL之间的数据传输和交互。本文将详细介绍如何使用PHP的PDO_PGSQL扩展。一、什么是PDO_PGSQL扩展?PDO_PGSQL是PHP的一个扩展库,它

PHP和PDO:如何执行批量插入和更新导言:在使用PHP编写数据库相关的应用程序时,经常会遇到需要批量插入和更新数据的情况。传统的做法是使用循环来执行多次数据库操作,但这样的方法效率较低。PHP的PDO(PHPDataObject)提供了一种更高效的方法来执行批量插入和更新操作,本文将介绍如何使用PDO来实现批量插入和更新。一、PDO简介:PDO是PH

PHP和PDO:如何处理数据库中的JSON数据在现代web开发中,处理和存储大量数据是一个非常重要的任务。随着移动应用和云计算的普及,越来越多的数据以JSON(JavaScriptObjectNotation)格式存储在数据库中。PHP作为一种常用的服务器端语言,它的PDO(PHPDataObject)扩展提供了一种方便的方式来处理和操作数据库。本

PHP和PDO:如何进行分页查询和显示数据在开发Web应用程序时,分页查询和显示数据是一个非常常见的需求。通过分页,我们可以一次显示一定数量的数据,提高页面加载速度和用户体验。在PHP中,使用PHP数据对象(PDO)库可以轻松实现分页查询和显示数据的功能。本文将介绍如何在PHP中使用PDO进行分页查询和显示数据,并提供相应的代码示例。一、创建数据库和数据表

PHP和PDO:如何执行数据库备份和还原操作在开发Web应用程序时,数据库的备份和还原是非常重要的任务。PHP作为一门流行的服务器端脚本语言,提供了丰富的库和扩展,其中PDO(PHP数据对象)是一款强大的数据库访问抽象层。本文将介绍如何使用PHP和PDO来执行数据库备份和还原操作。第一步:连接数据库在实际操作之前,我们需要建立与数据库的连接。使用PDO对

如何使用PDO连接到Redis数据库Redis是一个开源的高性能、内存存储的键值数据库,常用于缓存、队列等场景。在PHP开发中,使用Redis可以有效提升应用的性能和稳定性。而通过PDO(PHPDataObjects)扩展,我们可以更方便地连接和操作Redis数据库。本文将介绍如何使用PDO连接到Redis数据库,并附带代码示例。安装Redis扩展在开始

使用PDO进行数据库操作:PHP的一个更好的方式在Web开发中,使用数据库进行数据存储、管理和查询是非常常见的。而PHP作为一种广泛应用于Web开发的语言,自然也提供了丰富的数据库操作方式。在PHP中,可以使用MySQLi、PDO以及其他扩展库来进行数据库操作。其中,PDO是一种非常常用的数据库操作方式,相比于其他方式有更多的优点。本文将介绍什么是PDO,以


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Atom editor mac version download
The most popular open source editor

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Linux new version
SublimeText3 Linux latest version

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment
