PDO
1.什么事PDO?
- php data object php数据对象,它是数据库抽象层的一种
2.为什么要学习PDO
- 以模块的方式直接打入系统的,执行效率高
- 官方推荐使用PDO作为数据库抽象层
- php5.3之后都是默认开启PDO
3.如何开启PDO支持(PDO 是模块)
- 找到配置文件php.ini
extension = php_pdo_mysql.dll(PDO所支持的数据库)
5.3版本之前的
extension = php_pdo.dll 是否开启 - 重启服务器
- 检测phpinfo对应模块是否开启
4.try…catch语法的使用
try{
//尝试执行某段代码
}catch(){
//接收错误,并处理
}catch(){
}
5.PDO操作mysql数据库
- 连接数据库
- new PDO($dsn,$username,$password)
- dsn data source name 数据原名
- $dsn=’mysql:host=localhost;dbname=testdb’/
- 判断数据库是否连接成功
- 选择数据库
- 设置字符集
- $pdo->exec(“SET NAME utf8”)
- 准备并且发送sql语句
- 判断并且处理结果
- 关闭数据库
6.PDO类
bool beginTransaction (void) 开启事物处理
bool commit (void) 提交事物
mixed errorCode( void )错误代码
public array errorInfo (void) 错误信息
int exec (string $statement)执行sql语句
mixed getAttribut (int $attribute) 获取属性
static array getAvailableDrivers (void) 获取PDO支持的数据库类型
bool inTransaction (void) 检测是否处于事物当中
string lastInsertId([string $name =NULL])获取上一次插入操作的id
public PDOStatement prepare (string $statement [,array $driver_options =array()])准备SQL语句 返回PDO预处理对象
public PDOStatement query (string $statement) 执行查询SQL语句
public string quote (string $string [,int $parameter_type = PDO::PARAM_STR])字符串转译
bool rollBack (void) 回滚事务
bool setAttribute (int $attribute, mixed $value) 设置属性
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_AUTOCOMMIT 自动提交
7.事务处理
- 关闭自动提交
- 开启事物处理
- 提交事务/回滚事务
- 开启自动提交
posted on 2018-07-30 15:27 nothingMan 阅读(208) 评论(0) 收藏 举报
浙公网安备 33010602011771号