博主信息
Peter_Zhu教学笔记
博文
24
粉丝
1235
评论
19
访问量
8441
积分:139
P豆:849.5

数据表查询的常规操作方法

2018年01月02日 10:28:46阅读数:250博客 / Peter_Zhu教学笔记 / PHP

每个人都有一套自己喜欢的数据表遍历查询的套路,我这里给出一个经典的方式,尽管不够完美,但用得人还是很多的。

废话不多说,直接上代码:

<?php
/**
 * 查询操作:
 * 1. 查询是读操作,不会对数据表有任何影响
 * 2. 查询返回的是结果集,它是一个对象,必须进行解析后才可以使用
 * 3. 通常是用mysqli_fetch_array()将结果集解析成数组进行处理
 * 4. 除了以上函数外,还有mysqli_fetch_row()和mysqli_fetch_assoc()快捷方法
 * 5. 查询结果集,推荐使用结束后,立即释放
 */

/**
 * 步骤:
 * 1 连接数据库
 * 2. 执行查询操作
 * 3. 释放结果集[可选]
 * 4. 关闭连接[可选]
 */

//1.连接数据库
require '../public/connect.php';

//2. 执行查询操作
$sql = "SELECT `id`,`name`,`email` FROM `user1`";  //准备查询语句
$res = mysqli_query($db, $sql);  //执行查询,获取到结果集对象
$num = mysqli_num_rows($res);  //获取到结果集中的记录数量
if (true == $res && $num > 0) {   //如果查询成功
        echo '<table border="1" cellspacing="0" cellpadding="3" width="40%">';
        echo '<caption><strong>用户信息表</strong></caption>'; //表格标题
        echo '<tr bgcolor="lightblue"><th>id</th><th>姓名</th><th>邮箱</th></tr>'; //表头信息
        while($row = mysqli_fetch_array($res, MYSQLI_ASSOC)) {
            echo '<tr>';  //在表格中循环输出查询到的记录
            echo '<td>' . $row['id'] . '</td><td>' . $row['name'] . '</td><td>' . $row['email'] . '</td>';
            echo '</tr>';
        }
        echo '</table>';
        mysqli_free_result($res);  //释放结果集
}else {  //如果语句有误或者查询失败,给用户提示
    echo '<p style="color:red">查询失败,请检查~~'.mysqli_error($db).'</p>';
}

//3.关闭连接
mysqli_close($db);

/**
 * 代码中的32行:$row = mysqli_fetch_array($res, MYSQLI_ASSOC);,可以用以下语句替换:
 * $row = mysqli_fetch_assoc($res);指明仅返回关联部分,可以省去查询常量MYSQLI_ASSOC
 */


全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
Peter-Zhu
  • Peter-Zhu· 2018-01-03 16:16:253楼
  • 感谢李波提示,手误,已更正~~

  • 回复
  • 李波
  • 李波· 2018-01-02 18:35:242楼
  • 朱老师,但是第7行“* 4. 除了以上函数外,还有mysqli_fetch_num()和mysqli_fetch_assoc()快捷方法”,mysqli_fetch_num()是不是笔误了,应该是mysqli_fetch_row()?

  • 回复
  • 李波
  • 李波· 2018-01-02 18:21:351楼
  • 这个好!思路清晰!

  • 回复