学科分类
目录
PHP基础

查询数据

接下来利用MySQLi扩展,对所有的数据进行查询操作。查询student表中所有的记录,具体代码如下所示。

 1  // 查询数据的SQL语句
 2  $query = 'SELECT * FROM `student`';
 3  // 执行删除操作
 4  $result = mysqli_query($link, $query);
 5  if (!$result) {
 6    exit(mysqli_error($link));
 7  }
 8  // 处理结果集
 9  $list = [];
 10 while ($row = mysqli_fetch_assoc($result)) {
 11   $list[] = $row;
 12 }
 13 // 释放结果集资源
 14 mysqli_free_result($result);
 15 // 关闭连接
 16 mysqli_close($link);

在上述代码中,通过mysqli_fetch_assoc()函数获取结果集中的每一行,与while循环语句配合使用,可以将结果集中的数据全部取出来保存到$list变量中,直到该函数返回false,跳出while循环。

将查询出来的结果在页面中展示,具体代码如下。

 1  echo '<table><tr><th>id</th><th>姓名</th><th>年龄</th></tr>';
 2  foreach ($lists as $val) {
 3    echo '<tr><td>{$val['id']}</td><td>{$val['name']}</td>
 4        <td>{$val['age']}</td></tr>';
 5  }
 6  echo '<table>';

在上述代码中,第2~5行通过foreach循环,将$lists中的内容输出,显示在页面中的元素包括id、姓名和年龄。通过浏览器访问测试,查询结果如图1所示。

img

图1 查询结果

另外,当需要一次查询一行记录时,还可以使用mysqli_fetch_row()函数或mysqli_fetch_array()函数来实现,它们与mysqli_fetch_assoc()函数的用法类似。

除了上述的方式外,当需要一次查询出所有的记录时,可以通过mysqli_fetch_all()函数来实现,示例代码如下。

 1  // 一次查询所有记录
 2  $data = mysqli_fetch_all($result, MYSQL_ASSOC);
 3  // 输出查询结果
 4  var_dump($data);

按照上述代码修改完成后,$data中存入了一个包含所有行的二维数组,其中每一行记录都是一个数字。使用var_dump()函数可以查看该数组的结构。

点击此处
隐藏目录