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);//关闭自动提交

  • 相关阅读:
    猫 先吃药
    用抛物线筛选素数
    999999999分解质因数
    九宫数独简介(转)
    空间想象力大战!Smale球面外翻问题
    神奇的分形艺术(一):无限长的曲线可能围住一块有限的面积
    Kobon问题新进展:17条直线可构成多少个互不重叠的三角形
    关于2008:你必须知道的10个事实
    正多边形的滚动与旋轮线下的面积
    我见过的最酷的排序算法演示(乐死我了~)
  • 原文地址:https://www.cnblogs.com/gemicat/p/4622015.html
Copyright © 2011-2022 走看看