zoukankan      html  css  js  c++  java
  • PDO

    PDO

    PDO        PHP Data Object(php数据对象)

    就是别人已经封装好的一类,我们来学习如何使用。

     

    PDO原理

    加载PDO

    在新版本的PHP中不需要加载PDO,即可以使用PDO类

    查看:phpinfo();

    开启PDO所支持的数据库

    PDO简介

    PDO类

    PDO类主要提供对数据库的连接操作,及SQL执行

    __construct()构造函数

    $dsn        DataSourceName        数据源名

    格式:

        数据库类型:        mysql

        主机:                host:locahost

        端口                port:3306

        数据库名            dbname:所连接的数据库

        字符集                charset:utf8

        $dsn = "mysql:host=主机名;port=端口号;dbname=数据库名;charset=字符集"

    示例:

        $dsn = "mysql:host=localhost;port=3306;dbname=php;charset=utf8";    

        $user    用户名

        $pwd    密码

    操作数据库的步骤:

    1、连接

    2、设置字符集

    3、选择数据库

    示例:

    执行sql

    query()        执行sql的方法        主要用于select语句

    返回值是PDOStatement

    exec()        执行sql的方法        主要用于增、删、改

    示例:

    PDOStatement对象,主要用于接收PDO对数据库的sql操作

        此对象的作用,封装了对数据库操作的返回信息。

        此不需创建,由pdo的sql执行语句,自动返回此对象

    删除操作

    示例:

    rowcount()方法,返回所有受影响的行数     相当于mysql_affected_rows()

    添加操作

    示例:

    PDO对象->lastInsertId();

    修改操作:

    查询操作

    查询的操作的返回值也被封装在PDOStatment对象中,通过此对象的方法来获取数据。

    fetch();            主要用于返回一行记录,默认返回的是一个关联+索引元素

    控制返回数组类型的参数(PDO的一个类中常量)

    PDO::FETCH_BOTH    (默认)返回的是一个关联+索引

    PDO::FETCH_NUM        返回一个索引数据

    PDO::FETCH_ASSOC    返回是一个关联数组

    PDO::FETCH_OBJ        返回一个stdClass的对象,将结果集中的数据作为该对象的属性

    PDO::FETCH_CLASS    返回的是一个类的对象

    示例1:

    示例2:

    fetchAll()             一次获取所有的记录

    示例:

    fetchObject('类名');

        类必须存在

    获取错误信息:

    pdo对象的方法

    errorCode        返回的是一个错误信息的代码

    errorInfo()        返回的是一个错误信息的数组,信息在下标2中

    示例:

     

    PDOException异常类

    主要用于记录PDO的错误,但是以对象思想进行处理。

    异常:    异常是错误的一种,可以控制,比如程序中逻辑中的问题,异常出现在,执行过程。

    错误:硬件错误,操作系统错误,程序是无法控制的

    异常的语法:

        PHP中可以对异常进行try(检测)、throw(抛出)、catch(捕获),在try指定的代码进检测异常,如果遇到异常抛出错误提示信息,由与try对应的catch进行获取此错误信息。

    try{

        //所检测的代码段

        【throw new exception('信息信息')】

    }catch(PDOException $e){

        //输出错误信息

    }

    示例:

    PDOException类,前是必须开启PDO异常模式,通过PDO的常量,来设置

    PDO相关常量(pdo类中的属性)

    主要用于设置PDO的结果集信息、错误信息、异常处理信息。

    对PDO属性的操作

    getAttribute();        主要用于获取PDO类的属性(常量)

    setAttribute();        主要用于设置PDO类的属性

    属性:

        PDO::ATTR_ERRMODE            主要用于设置错误的处理方式

    取值:

        PDO::ERRMODE_SILENT            不显示错误

        PDO::ERRMODE_NATURAL        默认的

        PDO::ERRMODE_EXCEPTION        走异常模式

     

        PDO::ATTR_AUTOCIMMIT            事务的模式

        取值:1        0

        PDO::ATTR_CASE                    主要用于设置结果集关联数组的形式

        取值:

        PDO::CASE_UPPER                键名大写

        PDO::CASE_LOWER                键小写

    示例:

     

     

    PDO预处理

    1、创建预处理

    变化的SQL

    POD自己设计一种占位符    :变量名

    2、设置变量

    通过execute()方法为占位符绑定数据

    bindValue("占位符",值或变量);

    bindParam("占位符",变量);

    说明:

        都是用于为预处理绑定数据

        bindValue对占位符的传递是值的形式传递的

        bindParam对占位符的传递是地址的形式传递

        bindParam只需对占位符绑定一次即可。每次变量的值更改后,会自动将值重新绑定点给相应的占位符

    PDO的事务

    beginTransaction();

    commit();

    rollback();

    exec("save point 回滚点");

    示例:

     

  • 相关阅读:
    进程的实践与练习2
    士兵队列训练问题
    大数相加
    Ignatius and the Princess II
    Parentheses Balance (括号平衡)---栈
    简单计算器
    C++全排列函数next_permutation()和prev_permutation()
    黑白图像
    9*9乘法表
    输入5 个数按从小到大的顺序输出
  • 原文地址:https://www.cnblogs.com/nyxd/p/5360158.html
Copyright © 2011-2022 走看看