zoukankan      html  css  js  c++  java
  • PHP中关于PDO的使用

    -------------- COPY ------------------

    $dsn = 'mysql:dbname=renxing;host=localhost';

    $user_name = 'root';

    $user_psw = 'root';

    try{

        $pdo = new PDO($dsn, $user_name, $user_psw);

    }catch(PDOException $e){

        echo 'PDO连接失败:'.$e->getMessage();

    }

    $query="delete from employee where id>4";

    $affCount=$pdo->exec($query);//执行查询

    echo "受影响的行数为:".$affCount;

    ---------------- END COPY -----------

    [query]

    -------------- COPY ------------------

    $query="select * from employee";

    //输出结果集中的数据

    foreach ( $pdo->query($query) as $row){

        echo $row['id'].'  ';

        echo $row['name'].'  ';

        echo $row['address'].'  ';

        echo $row['age'].'<br>';

    }

    ---------------- END COPY -----------

    [fetch]

    -------------- COPY ------------------

    $query="select * from employee";

    $result = $pdo->prepare($query);

    $result->execute();

    $row=$result->fetch(PDO::FETCH_ASSOC);

    print_r($row);

    ---------------- END COPY -----------

    <?php

    $pdo=new PDO("mysql:dbname=test;host=127.0.0.1;port=3306","root","php");

    $pdo=new PDO("mysql:dbname=数据库;host=127.0.0.1;port=3306","root","php",array(PDO::ATTR_PERSISTENT=>true));

    $pdo->setAttribute(PDO::ATTR_PERSISTENT,true);//设置数据库连接为持久连接

    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);//设置抛出错误

    $pdo->setAttribute(PDO::ATTR_ORACLE_NULLS,true);//设置当字符串为空转换为SQL的NULL

    $pdo->setAttribute(PDO::ATTR_CASE,PDO::CASE_UPPER);//表字段字符的大小写转换或原样使用列信息

    $pdo->query("SET NAMES utf8");//设置数据库编码

    $pdo->query(sql语句);//返回PDOStatement对象,一般用于select

    $pdo->exec(sql语句);//返回受影响行数,一般用于insert|update|delete

    $sm=$pdo->query();

    $sm->rowCount()//返回记录数

    $pdo=null;//释放资源

    while($data=$sm->fetch()){print_r($data);}//只会返回一条数据

    $sm->setFetchMode(PDO::FETCH_ASSOC);//只返回关联索引

    $data=$sm->fetchAll();//返回所有数据

    $sm=$pdo->prepare(sql语句);

    $sm->execute();

    $data=$sm->fetchColumn();//一般用来进行count统计

    将列分发到变量

    $sm->bindColumn(数字,变量);

    $sm->bindColumn(字段名,变量);

    while($data=$sm->fetch(PDO::FETCH_BOUND)){}

    替换变量

    $sm=$pdo->prepare(":占位变量");

    $sm->bindParam(":占位变量",值,PDO::PARAM_INT);

    $sm->bindParam(":占位变量",值,PDO::PARAM_STR,12);

    $sm->execute();

    替换问号占位符

    $sm=$pdo->prepare("?");

    $sm->bindValue(1,值,PDO::PARAM_INT);//第1个问号

    $sm->bindValue(2,值,PDO::PARAM_STR,12);//第2个问号

    $sm->execute();

    方法

    PDO::query()//处理一条SQL语句并返回一个PDOStatement对象

    PDO::lastInsertId()//获取插入到表中的最后一条数据的主键值

    PDO::prepare()//负责准备执行的SQL语句

    PDO::exec()//处理一条SQL语句并返回所影响的行数

    PDO::beginTransaction//开始一个事务并标明回滚起始点

    PDO::commit//提交一个事务并执行SQL语句

    PDO::__construct//构造函数

    PDO::errorCode//获取错误码

    PDO::errorInfo//获取错误信息

    PDO::getAttribute//获取一个数据库连接对象的属性

    PDO::getAvailableDrivers//获取有效的PDO驱动器名称

    PDO::inTransaction

    PDO::quote//为某个SQL语句中的字符串添加引号

    PDO::rollBack//回滚一个事务

    PDO::setAttribute//为一个数据库连接对象设定属性

    PDOStatement::bindColumn//将列分发到变量

    PDOStatement::bindParam//替换变量

    PDOStatement::bindValue//替换问号占位符

    PDOStatement::closeCursor//关闭光标

    PDOStatement::columnCount//字段数

    PDOStatement::debugDumpParams

    PDOStatement::errorCode//获取错误码

    PDOStatement::errorInfo//获取错误信息

    PDOStatement::execute//执行语句

    PDOStatement::fetch//只会返回一条数据

    PDOStatement::fetchAll//返回所有数据

    PDOStatement::fetchColumn//一般用来进行count统计

    PDOStatement::fetchObject

    PDOStatement::getAttribute

    PDOStatement::getColumnMeta

    PDOStatement::nextRowset

    PDOStatement::rowCount//记录数

    PDOStatement::setAttribute

    PDOStatement::setFetchMode

    常量

    PDO::ATTR_AUTOCOMMIT//是否开启自动提交功能true|false

    PDO::ATTR_PREFETCH//设置应用程序提前获取的数据大小[千字节为单位]

    PDO::ATTR_TIMEOUT//设置超时之前的等待时间[秒为单位]

    PDO::ATTR_SERVER_INFO//包含与数据库特有的服务器信息

    PDO::ATTR_SERVER_VERSION//包含与数据库服务器版本号有关的信息

    PDO::ATTR_CLIENT_VERSION//包含与数据库客户端版本号有关的信息

    PDO::ATTR_CONNECTION_STATUS//设置超时之前的等待时间[秒为单位]

    PDO::CASE_LOWER//强制列名是小写

    PDO::CASE_UPPER//强制列名为大写

    PDO::CASE_NATURAL//列名按照原始的方式

    PDO::FETCH_ASSOC//关联数组形式

    PDO::FETCH_NUM//数字索引数组形式

    PDO::FETCH_BOTH//两者数组形式都有

    PDO::FETCH_OBJ//按照对象的形式

    PDO::PARAM_BOOL

    PDO::PARAM_NULL

    PDO::PARAM_INT

    PDO::PARAM_STR

    PDO::PARAM_LOB

    PDO::PARAM_STMT

    PDO::PARAM_INPUT_OUTPUT

    PDO::FETCH_LAZY

    PDO::FETCH_NAMED

    PDO::FETCH_BOUND

    PDO::FETCH_COLUMN

    PDO::FETCH_CLASS

    PDO::FETCH_INTO

    PDO::FETCH_FUNC

    PDO::FETCH_GROUP

    PDO::FETCH_UNIQUE

    PDO::FETCH_KEY_PAIR

    PDO::FETCH_CLASSTYPE

    PDO::FETCH_SERIALIZE

    PDO::FETCH_PROPS_LATE

    PDO::ATTR_ERRMODE

    PDO::ATTR_CASE

    PDO::ATTR_CURSOR_NAME

    PDO::ATTR_CURSOR

    PDO::ATTR_DRIVER_NAME

    PDO::ATTR_ORACLE_NULLS

    PDO::ATTR_PERSISTENT

    PDO::ATTR_STATEMENT_CLASS

    PDO::ATTR_FETCH_CATALOG_NAMES

    PDO::ATTR_FETCH_TABLE_NAMES

    PDO::ATTR_STRINGIFY_FETCHES

    PDO::ATTR_MAX_COLUMN_LEN

    PDO::ATTR_DEFAULT_FETCH_MODE

    PDO::ATTR_EMULATE_PREPARES

    PDO::ERRMODE_SILENT

    PDO::ERRMODE_WARNING

    PDO::ERRMODE_EXCEPTION

    PDO::NULL_NATURAL

    PDO::NULL_EMPTY_STRING

    PDO::NULL_TO_STRING

    PDO::FETCH_ORI_NEXT

    PDO::FETCH_ORI_PRIOR

    PDO::FETCH_ORI_FIRST

    PDO::FETCH_ORI_LAST

    PDO::FETCH_ORI_ABS

    PDO::FETCH_ORI_REL

    PDO::CURSOR_FWDONLY

    PDO::CURSOR_SCROLL

    PDO::ERR_NONE

    PDO::PARAM_EVT_ALLOC

    PDO::PARAM_EVT_FREE

    PDO::PARAM_EVT_EXEC_PRE

    PDO::PARAM_EVT_EXEC_POST

    PDO::PARAM_EVT_FETCH_PRE

    PDO::PARAM_EVT_FETCH_POST

    PDO::PARAM_EVT_NORMALIZE

    ?>

  • 相关阅读:
    香港的困境
    美国的制度
    媒体行业
    张首晟生前最著名演讲:这几句话可以总结人类所有知识
    印度的发展
    中国互联网发展解读
    cnblogs博客使用LaTeX公式
    Stanford CS229 Machine Learning by Andrew Ng
    强化学习在业界的实际应用
    AUC计算方法
  • 原文地址:https://www.cnblogs.com/rxbook/p/6003548.html
Copyright © 2011-2022 走看看