您的位置:首页 > 编程语言 > PHP开发

PHP的PDO

2016-06-22 22:46 567 查看
1.PDO类

PDO类代表一个PHP和数据库之间的连接,PDO类所拥有的方法如下:

    PDO:构造器,构建一个新的PDO对象。

    beginTransaction:开市事务。

    commit:提交事务。

    errorCode:从数据库返回一个错误代号,如果有的话。

    errorInfo:从数据库返回一个含有错误信息的数组,如果有的话。

    exec:执行一条SQL语句并返回影响的行数。

    getAttribute:返回一个数据库连接属性。

    lastInsertld:返回最新插入到数据库的行(ID)。

    prepare:为执行准备一条SQL语句,返回语句执行后的联合结果集(PDOStatement)。

    query:执行一条SQL语句并返回一个结果集。

    quote:返回添加引号的字符串,使其可用于SQL语句中。

    rollBack:回滚一个事务。

    setAttribute:设置一个数据库连接属性。

2.PDOStatement类

PODStatement类代表一条预处理语句以及语句执行后的联合结果集(associated result set),其拥有的方法如下:

    bindColumn:绑定一个PHP变量到结果集的输出列。

    bindParam:绑定一个PHP变量到一个预处理语句中的参数。

    bindValue:绑定一个值到与处理语句中的参数。

    closeCursor:关闭游标,使语句可以再次执行。

    columnCount:返回结果集中的列的数量。

    errorCode:从语句中返回一个错误代号,如果有的话。

    errorInfo:从语句中返回一个包含错误信息的数组,如果有的话。

    execute:执行一条预处理语句。

    fetch:从结果集中取出一行。

    fetchALL:从结果集中取出一个包含所有行的数组。

    fetchColumn:返回结果集中某一列中的数据。

    getAttribute:返回一个PDOStatement属性。

    getColumnMeta:返回结果集中的某一列的结构.

    nextRowset:返回下一个结果集。

    rowCount:返回SQL语句执行后的影响的行数。

    setAttribute:设置一个PDOStatement属性。

    setFetchMode:为PDOStatement设定获取数据的方式。

<?php

    /*

     * PDO演示

     */

    try {

        //配置PDO的数据源

        $dsn = "mysql:host = localhost;dbname=tsst";

        $db = new PDO($dsn, 'root', '1234');

        //构造方法

        //设置异常可捕获

        $db->setAttribute(PDO:ATTR_ERRMODE, PDO: ERRMODE_EXCEPTION);

        $db->exec("SET NAMES 'UTF8'");

        $sql = "INSERT INTO 

                    tc0_log(name, content, ip, datetime) 

                    values('admin', '插入一条记录', '{$_SERVER['REMOTE_ADDR']}'. now())";

        //插入到日志表里

        $db->exec($sql);

        //使用预处理语句

        $insert = $db->prepare("INSERT INTO tc0_log(name, content, ip ,datetime) values(?, ?, ?, now())");

        $insert->execute(['admin', '插入一条记录111', '{$SERVER[REMOTE_ADDR]}']);

        $insert->execute(['admin', '插入一条记录222', "'{$SERVER[REMOTE_ADDR]}'",8,9]); //异常

        $sql = "SELECT NAME, content, ip, datetime FROM tc0_log";

        $query = $db->prepare($sql);

        $query->execute();

        var_dump($query->fetchALL(PDO:FETCH_ASSOC));

    } catch (PDOException $err) {

        echo $err->getMessage();

    }

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: