<?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();
}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号