PDO相关函数

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)
PDO::__construct — 创建一个表示数据库连接的 PDO 实例
说明
$dsn [, string $username [, string $password [, array $driver_options ]]] )创建一个表示连接到请求数据库的数据库连接 PDO 实例。
参数
- dsn
-
数据源名称或叫做 DSN,包含了请求连接到数据库的信息。
通常,一个 DSN 由 PDO 驱动名、紧随其后的冒号、以及具体 PDO 驱动的连接语法组成。更深入的信息能从 PDO 具体驱动文档找到。
The
dsn参数支持三种不同的方式 创建一个数据库连接:- Driver invocation
-
dsn包含完整的DSN。 - URI invocation
-
dsnconsists ofuri:followed by a URI that defines the location of a file containing the DSN string. The URI can specify a local file or a remote URL.uri:file:///path/to/dsnfile - Aliasing
-
dsnconsists of a namenamethat maps topdo.dsn.in php.ini defining the DSN string.nameNote:
别名必须得在 php.ini 中定义了,不能是在 .htaccess 或 httpd.conf 中 。
- username
-
DSN字符串中的用户名。对于某些PDO驱动,此参数为可选项。
- password
-
DSN字符串中的密码。对于某些PDO驱动,此参数为可选项。
- driver_options
-
一个具体驱动的连接选项的键=>值数组。
返回值
成功则返回一个PDO对象。
成功则返回一个PDO对象。
错误/异常
如果试图连接到请求的数据库失败,则PDO::__construct() 抛出一个 PDO异常(PDOException) 。


(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)
PDO::exec — 执行一条 SQL 语句,并返回受影响的行数
说明
$statement )PDO::exec() 在一个单独的函数调用中执行一条 SQL 语句,返回受此语句影响的行数。
PDO::exec() 不会从一条 SELECT 语句中返回结果。对于在程序中只需要发出一次的 SELECT 语句,可以考虑使用 PDO::query()。对于需要发出多次的语句,可用 PDO::prepare() 来准备一个 PDOStatement 对象并用 PDOStatement::execute() 发出语句。
参数
statement-
要被预处理和执行的 SQL 语句。
查询中的数据应该被 妥善地转义 。
返回值
PDO::exec() 返回受修改或删除 SQL 语句影响的行数。如果没有受影响的行,则 PDO::exec() 返回 0。




PDO::setAttribute — 设置属性
说明
设置数据库句柄属性。下面列出了一些可用的通用属性;有些驱动可能使用另外的特定属性。
PDO::ATTR_CASE:强制列名为指定的大小写。
PDO::CASE_LOWER:强制列名小写。
PDO::CASE_NATURAL:保留数据库驱动返回的列名。
PDO::CASE_UPPER:强制列名大写。
PDO::ATTR_ERRMODE:错误报告。
PDO::ERRMODE_SILENT: 仅设置错误代码。
PDO::ERRMODE_WARNING: 引发 E_WARNING 错误
PDO::ERRMODE_EXCEPTION: 抛出 exceptions 异常。
PDO::ATTR_ORACLE_NULLS(在所有驱动中都可用,不仅限于Oracle): 转换 NULL 和空字符串。
PDO::NULL_NATURAL: 不转换。
PDO::NULL_EMPTY_STRING: 将空字符串转换成
NULL。PDO::NULL_TO_STRING: 将 NULL 转换成空字符串。
PDO::ATTR_STRINGIFY_FETCHES: 提取的时候将数值转换为字符串。 Requires bool.
PDO::ATTR_STATEMENT_CLASS: 设置从PDOStatement派生的用户提供的语句类。 不能用于持久的PDO实例。 需要 array(string 类名, array(mixed 构造函数的参数))。
PDO::ATTR_TIMEOUT: 指定超时的秒数。并非所有驱动都支持此选项,这意味着驱动和驱动之间可能会有差异。比如,SQLite等待的时间达到此值后就放弃获取可写锁,但其他驱动可能会将此值解释为一个连接或读取超时的间隔。 需要 int 类型。
PDO::ATTR_AUTOCOMMIT(在OCI,Firebird 以及 MySQL中可用): 是否自动提交每个单独的语句。
PDO::ATTR_EMULATE_PREPARES启用或禁用预处理语句的模拟。 有些驱动不支持或有限度地支持本地预处理。使用此设置强制PDO总是模拟预处理语句(如果为
TRUE),或试着使用本地预处理语句(如果为FALSE)。如果驱动不能成功预处理当前查询,它将总是回到模拟预处理语句上。 需要 bool 类型。PDO::MYSQL_ATTR_USE_BUFFERED_QUERY(在MySQL中可用): 使用缓冲查询。
PDO::ATTR_DEFAULT_FETCH_MODE: 设置默认的提取模式。
返回值
成功时返回
TRUE, 或者在失败时返回FALSE。
PDO相关函数的更多相关文章
- php 之 PDO数据访问抽象层(0513)
PDO(PHP Data Objects)是一种在PHP里连接数据库的使用接口. PDO与mysqli曾经被建议用来取代原本PHP在用的mysql相关函数, 基于数据库使用的安全性,因为后者欠缺对于S ...
- PDO控制、连接数据库
PDO(PHP Data Objects)是一种在PHP里连接数据库的使用接口.PDO与mysqli曾经被建议用来取代原本PHP在用的mysql相关函数,基于数据库使用的安全性,因为后者欠缺对于SQL ...
- php课程 6-21 HTML标签相关函数
php课程 6-21 HTML标签相关函数 一.总结 一句话总结:1.存入数据库的html标签代码:$info=addslashes(htmlspecialchars($_POST['info'])) ...
- PHP中的PDO对象操作学习(一)初始化PDO及原始SQL语句操作
PDO 已经是 PHP 中操作数据库事实上的标准.包括现在的框架和各种类库,都是以 PDO 作为数据库的连接方式.基本上只有我们自己在写简单的测试代码或者小的功能时会使用 mysqli 来操作数据库. ...
- 比Mysqli操作数据库更简便的方式 。PDO
下面来说一下PDO 先画一张图来了解一下 mysqli是针对mysql这个数据库扩展的一个类 PDO是为了能访问更多数据库 如果出现程序需要访问其他数据库的话就可以用PDO来做 PDO数据访问抽象层1 ...
- pdo的使用
PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口. PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据. PDO随 ...
- PHP中PDO事务的使用方法
事务 (Transaction) 是操作数据库中很重要的一个功能, 它可以让你预定一条, 或者一系列 SQL 语句, 然后一起执行. 在执行的过程中, 如果其中的某条执行失败, 可以回滚所有已更改的操 ...
- PDO连接mysql数据库
1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接 ...
- PDO概念 分析 练习
PDO 翻译过来叫做数据访问抽象层 它是一个数据访问的层面,实际上是一个类,也就是说所有操作数据库的代码,都是通过这个层面完成的 该图好理解大概就是这样一种模式 现在考虑的是能不能使用同一个类,上层代 ...
随机推荐
- STM32 DMA中断只进入一次的解决办法
问题解决参见:http://bbs.ednchina.com/BLOG_ARTICLE_3014819.HTM 经过我验证,这个说的是对的.
- 程序中引入库文件的头文件 编译时并不需要显示的用gcc去链接他的库文件 why?
拿一个苹果系统下的c文件为例: testArr.c #include <stdio.h> int main() { , , , , }; printf(]); } 当我们编译的时候 一般 ...
- Educational Codeforces Round 10 D. Nested Segments
D. Nested Segments time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- FAT和FAT32文件系统的原理
[转自] http://www.sjhf.net/Article/sjhfdoc/200404/1.html 一.硬盘的物理结构: 硬盘存储数据是根据电.磁转换原理实现的.硬盘由一个或几个表面 ...
- NOT IN clause and NULL values
https://stackoverflow.com/questions/129077/not-in-clause-and-null-values This issue came up when I g ...
- MYSQL初级学习笔记六:子查询!(视频序号:初级_42 | 43)
知识点八:子查询(42) 什么是子查询: 子查询是将一个查询语句嵌套在另一个查询语句中.内层查询语句的查询结果,可以作为外层查询语句提供条件. 引发子查询的情况: 使用[NOT] IN 的子查询 -- ...
- Gym - 100342J:Triatrip(Bitset加速求三元环的数量)
题意:求有向图里面有多少个三元环. 思路:枚举起点A,遍历A可以到的B,然后求C的数量,C的数量位B可以到是地方X集合,和可以到A的地方Y集合的交集(X&Y). B点可以枚举,也可以遍历.(两 ...
- ES6之拷贝对象
function copyObject(orig) { var copy = Object.create(Object.getPrototypeOf(orig)); //创建一个新的原型对象 copy ...
- javascript ==等于与===恒等于
==判断是否等于,只判断数值 ===代表恒等于,不仅判断数值,而且判断类型 var a=5; var b="5"; (a b 只是数值上相等,但是类型并不相等) a==b //tr ...
- kubernetes1.13.1部署ingress-nginx-十一
一.Ingress 简介 (1) 在Kubernetes中,服务和Pod的IP地址仅可以在集群网络内部使用,对于集群外的应用是不可见的. 为了使外部的应用能够访问集群内的服务, 在Kubernetes ...