zoukankan      html  css  js  c++  java
  • PDO基础

    PDO(PHP Data Object),数据库访问抽象层,统一各种数据库的访问接口。

    PDO特性:编码一致性、灵活性、高性能、面向对象特性。

    PDO只是一个抽象的接口层,本身并不能操作数据库。

    一、PDO安装与配置

    1.配置PHP配置文件,开启相应扩展 extension = php_pdo.dll

    2.开启响应数据库扩展 extension = php_pdo_mysql.dll

    3.通过查看phpinfo可以看到PDO扩展的详细信息

    二、PDO连接数据库

    1.通过参数的形式连接数据库【建议】

        

        *$dsn为所要连接数据库的数据源。如果连接成功会返回数据库对象对象。

    2.通过URI形式连接数据库

        

    3.通过配置文件形式连接数据库【不推荐】

    三、PDO对象的方法

    1.exec() --执行一条SQL语句,并返回其受影响的行数,如果没有返回0,对select没有作用

    2.query()--执行一条 语句,返回一个PDOStatement 对象【执行select】

    3.prepare()--准备要执行的SQ L语句,返回PDOStatement 对象

    预处理语句有两种占位符

    *$sql = "select s* from user where username = :username";//第一种占位符

    $stmt = $pdo->prepare($sql);

    $stmt->execute(array(":username"=>$username));//传参

    *$sql="select * from user where username=?";//第二种占位符

    $stmt = $pdo->prepare($sql);

    $stmt->execute(array($username));//传参

    4.execute()—执行一条预处理的语句。【statement方法】

    5.quote()--返回一个添加引号的字符串,用于SQL语句中【过滤字符串中的特殊字符可以防止sql注入】【但是不推荐】

        $username = $pdo -> quote($username);

    6.lastInsertId()返回最后插入行的ID

    7.setAttribute()设置数据库连接属性

    8.getAttribute()得到数据库连接的属性

    9.errorCode()获取跟数据库句柄上一个操作相关的SQLSTATE

    10.errorInfo()获取跟数据库柄上一次操作的错误信息【数组】

    四、PDOSatement的方法

    1.fetch()—得到结果集中的一条记录【索引+关联】

    2.fetchAll()—得到结果集中所有记录以二维数组形式

        * setFetchMode()语句要放在execute()之后—设置返回记录的形式

    3.rowCount()—得到受影响的条数或者查询到的信息

    4. bindParam — 绑定一个参数到指定的变量名

        $stmt->bindParam(":username",$username,POD:PARAM_STR);

        $stmt->bindParam(1,$username,POD:PARAM_STR);

    5. bindValue --绑定一个固定变量值到一个参数【方法 bindParam() 和 bindValue() 非常相似,唯一的区别就是前者使用一个PHP变量绑定参数,而后者使用一个值。】

    6. bindColumn-- 绑定一个列到指定的PHP变量

        

    7.columnCount()—返回结果集中的列数

    8.fetchColumn()—从结果集中的下一行返回单独的一列【没有办法返回同一行的另外一列】

    9. debugDumpParams — 打印一条 SQL 预处理命令

    10. nextRowset — 在一个多行集语句句柄中推进到下一个行集

        

    五、PDO错误处理模式

    1、PDO::ERRMODE_CLIENT静默模式『默认』

    2、PDO::ERRMODE_WARNING警告模式

    3、PDO::ERRMODE_EXCEPTION异常模式『推荐』

    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);

    六、PDO事务处理【原子性,一致性,独立性,持久性】

    *$options = array(PDO::ATTR_AUTOCOMMIT,0);//关闭自动提交

  • 相关阅读:
    [na]ip数据包格式
    [js]浏览器同源策略(same-origin policy)
    [sql] 同库表(结构)的备份和sql聚合&navicat使用
    [svc]tcp三次握手四次挥手&tcp的11种状态(半连接)&tcp的time-wait
    [svc]ip地址划分
    [css]单/多行居中&字体设置
    时间戳转为C#格式时间
    windows 8 中 使用 httpclient
    oralce 查看是否启动 登陆 创建用户 常用命令小记
    SQL递归查询(with cte as)
  • 原文地址:https://www.cnblogs.com/gemicat/p/4622015.html
Copyright © 2011-2022 走看看