## 连接管理
*PDO::__construct ( string $dsn [, string $username [, string $password [, array $options ]]] )*
连接是通过创建 PDO 基类的实例而建立的。不管使用哪种驱动程序,都是用 PDO 类名。构造函数接收用于指定数据库源(所谓的 DSN)以及可能还包括用户名和密码(如果有的话)的参数。
PDO 连接数据库有三种方式:
**通过参数形式连接(推荐)**
$dsn = "mysql:host=localhost;dbname=xxx";
$username = "xxx";
$pwd = "xxx";
$pdo = new PDO($dsn,$username,$pwd);
PDO 构造函数还有一个 $options 参数,它是一个数组,用于配置运行中的数据库,如是否开启自动提交、设置结果集的返回方式等。
**通过 uri 连接**
首先建立一个文件,保存数据源,文件内容形如:mysql:host=localhost;dbname=xxx。然后在程序中引入该文件。
$dsn = "uri:file://保存数据源配置的文件路径";
$username = "xxx";
$pwd = "xxx";
$pdo = new PDO($dsn,$username,$pwd);
**通过配置文件连接**
在 php.ini 中的任意一个位置添加数据源的配置:
pdo.dsn.test=”mysql:host=localhost;dbname=xxx”;
test 是自定义的数据源名称。添加完成后重启服务器,在程序中引入该数据源。
$dsn = "test";
$username = "xxx";
$pwd = "xxx";
$pdo = new PDO($dsn,$username,$pwd);
**PDO 对象常用的方法:**
* PDO::beginTransaction — 启动一个事务
* PDO::commit — 提交一个事务
* PDO::__construct — 创建一个表示数据库连接的 PDO 实例
* PDO::errorCode — 获取跟数据库句柄上一次操作相关的 SQLSTATE
* PDO::errorInfo — 获取跟数据库句柄上一次操作相关的错误信息
* PDO::exec — 执行一条 SQL 语句,并返回受影响的行数
* PDO::getAttribute — 取回一个数据库连接的属性
* PDO::getAvailableDrivers — 返回一个可用驱动的数组
* PDO::inTransaction — 检查是否在一个事务内
* PDO::lastInsertId — 返回最后插入行的ID或序列值
* PDO::prepare — 预处理一条SQL语句,返回PDOStatement对象
* PDO::query — 执行一条SQL语句,返回PDOStatement对象,用于保存结果集
* PDO::quote — 返回一个添加引号的字符串,用于query语句
* PDO::rollBack — 回滚一个事务
* PDO::setAttribute — 设置属性
参考链接: [PDO 对象](http://php.net/manual/zh/class.pdo.php)
- 基本语法
- PHP标记
- 指令分隔符
- 从HTML中分离
- 注释
- 数据类型
- 布尔值
- 整数
- 浮点数
- 字符串
- 数组
- 对象
- 资源
- 空值
- 变量
- 基础
- 预定义变量
- 变量范围
- 可变变量
- 常量
- 常量语法
- 魔术常量
- 运算符
- 算术运算符
- 赋值运算符
- 位运算符
- 比较运算符
- 递增与递减运算符
- 逻辑运算符
- 字符串运算符
- 数组运算符
- 类型运算符
- 流程控制
- if条件结构
- switch条件结构
- while循环结构
- do-while循环结构
- for循环结构
- foreach循环结构
- 包含文件
- 函数
- 自定义函数
- 可变函数
- 匿名函数
- 递归函数
- 类与对象
- 基本概念
- 属性
- 方法
- 类常量
- 构造函数和析构函数
- 访问控制
- 继承
- 抽象类
- 接口
- Trait
- 重载
- 对象遍历
- 魔术方法
- Final关键字
- 命名空间
- 自动加载
- 错误处理
- 错误显示
- 错误日志
- 错误报告
- 自定义错误处理
- 异常处理
- 异常处理机制
- 扩展异常处理类
- 字符操作
- 数组操作
- 时间操作
- 表单操作
- GET提交
- POST提交
- 文件上传
- 会话控制
- COOKIE操作
- SESSION操作
- 文件操作
- 文件属性
- 读取文件
- 写入文件
- 文件管理
- 文件锁
- 目录处理
- 路径处理
- 网络操作
- HTTP协议
- Socket操作
- CURL操作
- PDO操作
- 介绍
- 连接管理
- 预处理语句
- 事务处理
- 错误处理
- 图像操作
- 正则表达式
- 标准推荐
- 包管理器
- 设计模式
- 常用算法
- 安全防御
- XSS防御
- CSRF防御