PHP的PDO

来源:互联网 发布:软件可行性方案模板 编辑:程序博客网 时间:2024/06/03 22:43
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();
    }
?>

0 0
原创粉丝点击