博客列表 >PDO查询操作

PDO查询操作

艾克的博客
艾克的博客原创
2018年01月06日 17:21:05812浏览
<?php
/**
 * 查询操作
 * 读操作:$pdo->query()
 * 查询会返回一个pdoStatement对象:结果集对象
 * rowCount(),返回结果集的数量,$mysqli->num_rows
 *
 */

header('content-type:text/html;charset=utf-8');
//连接数据库,创建pdo对象
$pdo = new PDO('mysql:dbname=demo','root','root');

//准备查询语句

$sql = "SELECT id,name,email FROM user1";


////执行查询,并生成PDOstatement对象
//$pdoStmt = $pdo->query($sql);
////print_r($pdoStmt);//查看sql语句
//
//
////遍历结果集
//echo '<h3 align="center">用户信息表</h3>';
//echo '<table border="1" cellpadding="0" cellspacing="0" width="60%" align="center">';
//echo '<tr bgcolor="#adff2f"><th>ID</th><th>用户名</th><th>邮箱</th></tr>';
//
//
//foreach ($pdoStmt as $row) {
//    echo '<tr align="center">';
//    echo '<td>'.$row['id'].'</td><td>'.$row['name'].'</td><td>'.$row['email'].'</td>';
//    echo '</tr>';
//}
//
//echo '</table>';
//   echo '<h3 align="center">当前表中共有'.$pdoStmt->rowCount().'记录</h3>';



   //第二种 添加错误处理机制

try {
    $pdoStmt = $pdo->query($sql);
    echo '<h3 align="center">用户信息表</h3>';
    echo '<table border="1" cellpadding="0" cellspacing="0" width="60%" align="center">';
    echo '<tr bgcolor="#adff2f"><th>ID</th><th>用户名</th><th>邮箱</th></tr>';


    foreach ($pdoStmt as $row) {
        echo '<tr align="center">';
        echo '<td>'.$row['id'].'</td><td>'.$row['name'].'</td><td>'.$row['email'].'</td>';
        echo '</tr>';
    }

    echo '</table>';
    echo '<h3 align="center">当前表中共有'.$pdoStmt->rowCount().'记录</h3>';

}catch (PDOException $e) {
    echo $e->getMessage();
}


/*
 * pdostatement对象有两个重要的查询方法fetch(),fetchall()
 * $pdoStmt->fetch()返回 结果集中的一条记录;类似于myslqi_fetch_array()
 * $pdoStmt->fetchAll()一次性返回结果集中的所有记录,mysqli_fetch_all()
 */

try {
    $pdoStmt = $pdo->query($sql);//$pdoStmt对象是一个数组:对象数组
    $rows = $pdoStmt->fetchAll();//获取到当前结果集中的所有记录保持到一个二维数组中


    echo '<h3 align="center">用户信息表</h3>';
    echo '<table border="1" cellpadding="0" cellspacing="0" width="60%" align="center">';
    echo '<tr bgcolor="#adff2f"><th>ID</th><th>用户名</th><th>邮箱</th></tr>';


    foreach ($rows as $row) {
        echo '<tr align="center">';
        echo '<td>'.$row['id'].'</td><td>'.$row['name'].'</td><td>'.$row['email'].'</td>';
        echo '</tr>';
    }

    echo '</table>';
    echo '<h3 align="center">当前表中共有'.$pdoStmt->rowCount().'记录</h3>';

}catch (PDOException $e) {
    echo $e->getMessage();
}


//用fetch()来完成遍历
try {
    $pdoStmt = $pdo->query($sql);//$pdoStmt对象是一个数组:对象数组

    echo '<h3 align="center">用户信息表</h3>';
    echo '<table border="1" cellpadding="0" cellspacing="0" width="60%" align="center">';
    echo '<tr bgcolor="#adff2f"><th>ID</th><th>用户名</th><th>邮箱</th></tr>';


    while ($row = $pdoStmt->fetch()) { //fetch()获取当前结果集的一条记录
        echo '<tr align="center">';
        echo '<td>'.$row['id'].'</td><td>'.$row['name'].'</td><td>'.$row['email'].'</td>';
        echo '</tr>';
    }

    echo '</table>';
    echo '<h3 align="center">当前表中共有'.$pdoStmt->rowCount().'记录</h3>';

}catch (PDOException $e) {
    echo $e->getMessage();
}


上一条:PDO新增操作下一条:PDO更新操作
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议