pdo简单入门学习

来源:互联网 发布:淘宝旺旺客服兼职 编辑:程序博客网 时间:2024/05/22 06:44
<?php        //开始创建PDO对象        $dsn = "mysql:host=localhost;dbname=test";        $username = "root";        $password = "111111";        $db = new PDO($dsn, $username, $password);        //print_r($db);打印是一个资源        //默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样:        //$db = new PDO($dsn, 'root', '', array(PDO::ATTR_PERSISTENT => true));        //查询数据        //$db->query()方法来查询数据        //获取全部数据        $rs = $db->query("select * from pdo_test");        while($row = $rs->fetch()){            //print_r($row);        }        //或者用以下方式也可以        $rs = $db->query("select * from pdo_test");        $row = $rs->fetchAll();        //print_r($row);打印结果如图
        //我们看里面的记录,数字索引和关联索引都有,浪费资源,我们只需要关联索引的:实例代码如下        $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER);        $rs = $db->query("SELECT * FROM pdo_test");        $rs->setFetchMode(PDO::FETCH_ASSOC);        $result_arr = $rs->fetchAll();        print_r($result_arr);        //setAttribute() 方法是设置部分属性,主要属性如下:        //PDO::CASE_LOWER -- 强制列名是小写        //PDO::CASE_NATURAL -- 列名按照原始的方式        //PDO::CASE_UPPER -- 强制列名为大写        //setFetchMode方法来设置获取结果集的返回值的类型,同样类型还有:        //PDO::FETCH_ASSOC -- 关联数组形式        //PDO::FETCH_NUM -- 数字索引数组形式        //PDO::FETCH_BOTH -- 两者数组形式都有,这是缺省的        //PDO::FETCH_OBJ -- 按照对象的形式,类似于以前的 mysql_fetch_object()        //添加数据        //$sql = "insert into pdo_test (username,password) values ('heihei','123456'),('heihei','123456')";        //print_r($pdo->exec($sql));//打印是返回执行这条语句影响的行数返回int型数据        //批量插入多条语句,可以用语句预执行,形成执行模板        $sql ="insert into pdo_test (username,password) values (?,?)";        //先准备,接下来我将执行一大批类似的语句        $sta = $db->prepare($sql);        for($i=1;$i<=10;$i++){            $arr = array('username'.$i,'password'.$i);            $sta->execute($arr);        }        【总结】        //查询操作主要是PDO::query()、PDO::exec()、PDO::prepare()。PDO::query()主要是用于有记录结果返回的操作,特别是SELECT操作,PDO::exec()主要是针对没有结果集合返回的操作,比如INSERT、UPDATE、DELETE等操作,它返回的结果是当前操作影响的列数。PDO::prepare()主要是预处理操作,需要通过$rs->execute()来执行预处理里面的SQL语句,这个方法可以绑定参数,功能比较强大,不是本文能够简单说明白的,大家可以参考手册和其他文档。        //获取结果集操作主要是:PDOStatement::fetchColumn()、PDOStatement::fetch()、PDOStatement::fetchALL()。PDOStatement::fetchColumn() 是获取结果指定第一条记录的某个字段,缺省是第一个字段。PDOStatement::fetch() 是用来获取一条记录,PDOStatement::fetchAll()是获取所有记录集到一个中,获取结果可以通过PDOStatement::setFetchMode来设置需要结果集合的类型。        //另外有两个周边的操作,一个是PDO::lastInsertId()和PDOStatement::rowCount()。PDO::lastInsertId()是返回上次插入操作,主键列类型是自增的最后的自增ID。PDOStatement::rowCount()主要是用于PDO::query()和PDO::prepare()进行DELETE、INSERT、UPDATE操作影响的结果集,对PDO::exec()方法和SELECT操作无效?>

0 0
原创粉丝点击