PDO操作数据库

1、连接

$dsn="mysql:host=localhost;dbname=test";
try{
 $db=new PDO($dsn,'root','root');
}catch(PDOException $e){
 die('error:'.$e);
}

$dsn = "mysql:host=localhost;dbname=test";
就是构造我们的DSN(数据源),看看里面的信息包括:数据库类型是mysql,主机地址是localhost,数据库名称是test。

$db = new PDO($dsn, 'root', 'root');
初始化一个PDO对象,构造函数的参数第一个就是我们的数据源,第二个是连接数据库服务器的用户,第三个参数是密码


2、操作

  1. 获取结果集的第一列:$res=$db->query("select * from user"); $rows=$res->fetchAll( PDO :: FETCH_COLUMN , 0 );
  2. 获取结果集内的所有数据:$res=$db->query("select * from user"); $rows=$res->fetchAll( PDO :: FETCH_ASSOC ); 

    PDO :: FETCH_ASSOC -->以索引数组形式获取结果集

    PDO :: FETCH_NUM     -->关联数组

    PDO :: FETCH_BOTH   -->两者都有,默认值

  3. 获取第一行记录的第一个字段值:$res=$db->query("select * from user"); $col = $rs->fetchColumn();                                                                                                              fetchColumn()参数为空默认取第一列                                                                                                                                                                                                                      一般使用fetchColumn()来进行count统计或者单字段的记录操作如:$rs = $db->query("SELECT COUNT(*) FROM foo");$col=$res->fetchColumn();

  4. 循环输出结果集:foreach($db->query("select * from user where name='name8'") as $row){ var_dump($row);
  5. 获取结果集记录数:
        $sql1 = "select * from user where username ='$name'";
        $res = $db->query($sql1);
        $num = $res->rowCount();

     

3、PDO预处理——prepare

  1. 查询  
    $stmt=$db->prepare("select * from user where name=?");
    if($stmt->execute(array('name8'))){
        while($row=$stmt->fetch()){
            var_dump($row);
        }
    }
  2. 插入
    $stmt=$db->prepare("insert into user(name,pass) values(?,?)");
    if($stmt->execute(array('sa1',666))){
        echo '插入成功';
        echo $db->lastinsertid();
    }

     

posted @ 2017-08-08 09:58  yolo_bean  阅读(158)  评论(0编辑  收藏  举报