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)    收藏  举报