首页 >  IT技术问题 > PHP技术问题 > 

介绍一下pdo的用处、用法

介绍一下pdo的用处、用法

作者:eld 来源:华育国际 时间:2015-07-08 访问次数:4465
pdo主要是用来对数据库访问的。不同数据库在访问时,采用相同方法名称,解决了数据库连库不统一问题...

    pdo主要是用来对数据库访问的。不同数据库在访问时,采用相同方法名称,解决了数据库连库不统一问题。
    mysql_connect —-mysql
    oci_connect   —-oracle
    dbase_open  ——dbase
    连库可以,但是没有同意标准,每次连库,都需要找对应的连库方法。
1.1  pdo特点:
    性能:比传统方式效率高。
    运行时扩展:pdo是模块化的。能在项目运行时加载数据库的驱动。
1.2  pdo如何安装
    php.ini 查找
    找到扩展配置位置  添加extension=php_pdo_mysql.dll  如果有,把前面分号去掉。
    extension=php_pdo.dll 也要打开。
重启apache
    1、创建pdo对象的格式
    $db = new PDO(“mysql:host=localhost;dbname=数据库名称”,“用户名”,“密码”); //连库
    2、setAttribute()为数据库连接设置属性。
    格式:
    setAttribute(PDO::ATTR_CASE,PDO::CASE_UPPER);
    PDO::ATTR_CASE 获取结果集的时候,关联数组的索引时大写还是小写。
    PDO::CASE_UPPER :大写
    PDO::CASe_LOWER: 小写。
    PDO::CASE_NORMAL:默认。
    3、query()执行sql的
    $pdoObject->query($sql);
    4、setFetchMode(PDO::FETCH_ASSOC) 设置获取结果集的返回类型。
    PDO::FETCH_ASSOC 只返回关联数组。
    PDO::FETCH_NUM  只返回数字下标数组。
    PDO::FETCH_BOTH  默认的,关联数组+数字下标的数组。
    5、fetchAll()从结果集但中抽取数据,返回一个数组。
    6、exec 执行sql语句且返回受影响的行数。(insert delete  update)mysql_affected_rows
    7、rowCount()//获取的是select的行数。mysql_num_rows
    必须要先去到结果集对象,用结果集对象调用。
    例子:
    $sql = “select * from category”;
    $result = $db->query($sql); //执行sql
    $rowCount = $result->rowCount();
    8、prepare()生成一个查询对象,select ,不会立即执行。
    $obj = $db->prepare(“select * from test”);
    9、execute() 执行查询对象。
    $obj->execute() //执行查询对象,有循环来遍历。
    10、错误的处理
    捕获异常。
    try{
    //正常
    }catch(){
    //错误捕获。
    }
    try{
    $db = new PDO(“mysql:host=localhost;dbname=test”,”root”,”root”);
    }catch(PDOException $e){ //捕获得错误。
    echo $e->getMessage(); //错误信息
    }
    绑定事件
    1 bind(事件名称,function(){})
    2 元素.事件名称(function(){
    })
    删除事件:
    格式:unbind(事件类型,要删除的函数);
    模拟操作
    trigger() 自动触发事件,在页面加载完毕后自动触发。
    元素.trigger(“事件名称”)。
    例子:
    $(function(){ //当页面加载完毕后,会为bt按钮绑定上click,但是不单击是不执行。
    $(“#bt”).click(function(){
    alert($(“#myDiv”).text());
    })
    $(“#bt”).trigger(“click”);//自动调用bt的click方法。
    })
    <div id=”myDiv”>aaaaaaaaa</div>
    <input type=”button” id=”bt” value=”测试数据”>
    注意:
    trigger(参数1,参数2)可以有参数
    第一个参数是自定义事件名称。
    第二个参数是传给事件处理函数的附加数据,以数组形式传递。