PHP基础语法学习要点7

版权声明:随意了,开心就好。反正是给大家分享的笔记 https://blog.csdn.net/u011486491/article/details/85564440

PHP基础语法学习要点7

PDO

它是PHP数据对象的缩写,它是数据库抽象层。其实你可以简单的理解为PHP连接MySQL的一种方法。

使用步骤:

  1. 链接数据库(创建PDO对象)

    new PDO($dsn, $userName, $password)

    $dsn:data source name,放置数据库源的信息,主机位置、库名、连接哪种驱动。

    mysql的DSN:mysql:host=连接的主机地址;port=端口号;dbname=数据库名;charset=utf8

    注意:如果试图连接到请求的数据库失败,则PDO::__construct()方法将会自动抛出一个PDO的异常。你可以使用异常处理来进行解决。

  2. 准备SQL语句。---------将SQL语句写为一个字符串。

  3. 执行SQL语句。

    1. exec(),用来执行有影响行数的语句,通常用于update\delete\insert。该方法将会返回具体影响的行数。

    2. query(),用来执行有结果集的语句,通常用于select。他将会返回一个STAT对象

  4. 处理结果

    1. 有影响行数的

      • lastInsertId(),来获取最后的ID。

    2. 有结果集的。

      • fetch(),用来一次获得一条数据,返回一个数组(关联、索引都会返回),每获得一个就往下走一个,走到最后返回false。(这个时候就应该使用的是STAT这个对象)

        可以通过一些系统已经定义的常量来设置fetch()这个方法返回的数据是什么。

        • PDO::FETCH_BOTH,返回一个关联和索引的数组(默认)

        • PDO::FETCH_ASSOC,返回一个关联数组,数组的下标为字段名。

        • PDO::FETCH_NUM,返回一个索引数组。

      • rowcount(),用来获得stat对象中结果的行数。

PDO的事务处理

处理流程:

  1. 关闭自动提交。

    setAttribute(),设置PDO的一些选项。

    • PDO::ATTR_AUTOCOMMIT,如果值为0表示关闭自动提交,为1表示开启自动提交。

  2. 开启事务处理

    beginTransaction(void),启动一个事务处理的。

  3. 如果有异常就抛出异常给出提示然后再回滚。

    rollback()回滚到没有执行事务之前。

    注意:

    1. PDOException代表的是由一个PDO内部产生的错误,在自己的代码中不应该抛出PDOException这个异常你应该抛出的是Exception或自己定义的其他的异常类。

  4. 如果没有异常就直接提交。

    commit(),提交一个事务

    注意:

    1. 如果当你提交一个事务后会自动的进入到自动提交模式。

猜你喜欢

转载自blog.csdn.net/u011486491/article/details/85564440