PDO

1.什么事PDO?php

  • php data object php数据对象,它是数据库抽象层的一种

2.为何要学习PDOhtml

  • 以模块的方式直接打入系统的,执行效率高
  • 官方推荐使用PDO做为数据库抽象层
  • php5.3以后都是默认开启PDO


3.如何开启PDO支持(PDO 是模块)mysql

  • 找到配置文件php.ini
    extension = php_pdo_mysql.dll(PDO所支持的数据库)
    5.3版本以前的
    extension = php_pdo.dll 是否开启
  • 重启服务器
  • 检测phpinfo对应模块是否开启


4.try…catch语法的使用sql

      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类htm

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.事务处理

  • 关闭自动提交
  • 开启事物处理
  • 提交事务/回滚事务
  • 开启自动提交
相关文章
相关标签/搜索