<?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(); }