PDO基础

PDO(PHP Data Object),数据库访问抽象层,统一各种数据库的访问接口。

PDO特性:编码一致性、灵活性、高性能、面向对象特性。

PDO只是一个抽象的接口层,本身并不能操作数据库。

一、PDO安装与配置

1.配置PHP配置文件,开启相应扩展 extension = php_pdo.dll

2.开启响应数据库扩展 extension = php_pdo_mysql.dll

3.通过查看phpinfo可以看到PDO扩展的详细信息

二、PDO连接数据库

1.通过参数的形式连接数据库【建议】

????

????*$dsn为所要连接数据库的数据源。如果连接成功会返回数据库对象对象。

2.通过URI形式连接数据库

????

3.通过配置文件形式连接数据库【不推荐】

三、PDO对象的方法

1.exec() --执行一条SQL语句,并返回其受影响的行数,如果没有返回0,对select没有作用

2.query()--执行一条 语句,返回一个PDOStatement 对象【执行select】

3.prepare()--准备要执行的SQ L语句,返回PDOStatement 对象

预处理语句有两种占位符

*$sql = "select s* from user where username = :username";//第一种占位符

$stmt = $pdo->prepare($sql);

$stmt->execute(array(":username"=>$username));//传参

*$sql="select * from user where username=?";//第二种占位符

$stmt = $pdo->prepare($sql);

$stmt->execute(array($username));//传参

4.execute()—执行一条预处理的语句。【statement方法】

5.quote()--返回一个添加引号的字符串,用于SQL语句中【过滤字符串中的特殊字符可以防止sql注入】【但是不推荐】

????$username = $pdo -> quote($username);

6.lastInsertId()返回最后插入行的ID

7.setAttribute()设置数据库连接属性

8.getAttribute()得到数据库连接的属性

9.errorCode()获取跟数据库句柄上一个操作相关的SQLSTATE

10.errorInfo()获取跟数据库柄上一次操作的错误信息【数组】

四、PDOSatement的方法

1.fetch()—得到结果集中的一条记录【索引+关联】

2.fetchAll()—得到结果集中所有记录以二维数组形式

????* setFetchMode()语句要放在execute()之后—设置返回记录的形式

3.rowCount()—得到受影响的条数或者查询到的信息

4. bindParam — 绑定一个参数到指定的变量名

????$stmt->bindParam(":username",$username,POD:PARAM_STR);

????$stmt->bindParam(1,$username,POD:PARAM_STR);

5. bindValue --绑定一个固定变量值到一个参数【方法 bindParam() 和 bindValue() 非常相似,唯一的区别就是前者使用一个PHP变量绑定参数,而后者使用一个值。】

6. bindColumn-- 绑定一个列到指定的PHP变量

????

7.columnCount()—返回结果集中的列数

8.fetchColumn()—从结果集中的下一行返回单独的一列【没有办法返回同一行的另外一列】

9. debugDumpParams — 打印一条 SQL 预处理命令

10. nextRowset — 在一个多行集语句句柄中推进到下一个行集

????

五、PDO错误处理模式

1、PDO::ERRMODE_CLIENT静默模式『默认』

2、PDO::ERRMODE_WARNING警告模式

3、PDO::ERRMODE_EXCEPTION异常模式『推荐』

$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);

六、PDO事务处理【原子性,一致性,独立性,持久性】

*$options = array(PDO::ATTR_AUTOCOMMIT,0);//关闭自动提交

时间: 2024-08-03 18:08:20

PDO基础的相关文章

PDO 基础知识

PDO: 一.含义: 数据访问抽象层 二.作用 :通过PDO能够访问其它的数据库 三. 用法: 1.造对象 ①$dsn="mysql:dbname=zz;host=localhost"; ② $pdo = new PDO($dsn,"root","123"); 2.执行SQL语句 ① $pdo -> exec(): 用来处理非结果集的,返回影响的行数 ② $pdo -> query() :用来处理有结果集的语句 四.预处理 ①$stm

前端学PHP之PDO基础操作

× 目录 [1]创建PDO [2]使用PDO [3]事务处理 前面的话 PDO(php data object)扩展类库为php访问数据库定义了轻量级的.一致性的接口,它提供了一个数据库访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据,大大简化了数据库的操作,并能够屏蔽不同数据库之间的差异,使用PDO可以很方便地进行跨数据库程序的开发,以及不同数据库间的移植,是将来php在数据库处理方面的主要发展方向,它可以支持mysql.postgresql.oracle.mssq

PDO基础操作Mysql

来源:PHP开发学习门户 地址:http://www.phpthinking.com/archives/805 PHP中的PDO扩展为PHP访问数据库定义了一个轻量级的.一致性的接口,它提供了一个数据访问抽象层, 这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据. PDO支持的PHP版本为PHP5.1以及更高的版本,而且在PHP5.2下PDO默认为开启状态, 下面是在php.ini中PDO的配置: extension=php_pdo.dll 为了启用对某个数据库的支持,需要在ph

PDO基础操作

创建PDO对象 使用PDO在与不同数据库管理系统之间交互时,PDO对象中的成员方法是统一各种数据库的访问接口,所以在使用PDO与数据库进行交互之前,首先要创建一个PDO对象.在通过构造方法创建对象的同时,需要建立一个与数据库服务器的连接,并选择一个数据库 PDO的构造方法原型如下 __construct ( string $dsn [,string $username [,string $password [,array $driver_options ]]] ) 在构造方法中,第一个必选的参数

数据库访问CRUD;__SELF__和__ACTION__的区别;自动收集表单:$n->create();

一.tp框架数据访问(pdo基础) public function test() { $n = D("Nation"); //select();find(); //查询 1.$attr = $n->select();//查所有,返回一个关联数组,二维关联数组 2.$attr = $n->select("n001,n002");//根据参数(主键值)查 3.$attr = $n->find("n002");//查一条数据,一维数组

php学习目录

前面的话 前端工程师为什么要学习php?是因为招聘要求吗?这只是一方面 一开始,我对学习php是抵触的,毕竟javascript已经够自己喝一壶的了,再去学习php,可能让自己喝醉.但是,在学习javascript的日期对象Date过程中发现,使用本机的Date()对象,得到的只是客户端时间,而实际我们需要的是服务器时间,这是学习php的原因之一 ES6许多新增的语法,其实在php中是早已存在的,比如常量.所以学习php的语法,可以通过类比的方法,对javascript语法有更深的理解,这是学习

yii2

yii2框架官方说明文档 http://www.yiiframework.com/doc/guide/2.0/zh_cn/caching.page yii2创建您的第一个application应用 http://www.yiiframework.com/doc/guide/2.0/zh_cn/quickstart.first-app 1 MVC架构 1.1处理流程 一个Web请求在Yii内部的执行流程如下图所示: 1.2组件角色 组件名 角色与责任 index.php 入口脚本.创建Applic

java web 开发三剑客 -------电子书

Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知Internet的目的是让各个net交互.所以,Internet实质上是将世界上各个国家.各个网络运营商的多个网络相互连接构成的一个全球范围内的统一网,使各个网络之间能够相互到达.各个国家和运营商构建网络采用的底层技术和实现可能各不相同,但只要采用统一的上层协议(TCP/IP)就可以通过Internet

PHP - PDO 之 mysql 基础操作

<?php /* pdo 学习 */ $dsn = 'mysql:host=localhost;dbname=cswl';//构建连接dsn $db = new pdo($dsn,'root','');//实例化pdo[第二个参数是用户名,第三个为密码] #.查询 $obj = $db->prepare("show tables;");//准备预处理sql语句 $obj->execute();//执行预处理语句 $obj->fetchALL(PDO::FETCH