PHP数据库遍历进阶:mysqli_fetch_row()和PDO fetchColumn()获取指定列数据
发布时间: 2024-08-02 17:50:34 阅读量: 33 订阅数: 23
PHP使用mysql_fetch_row查询获得数据行列表的方法
![PHP数据库遍历进阶:mysqli_fetch_row()和PDO fetchColumn()获取指定列数据](https://img-blog.csdn.net/20180330163333559?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGdjNTkyNTE5ODI4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
# 1. PHP数据库遍历基础**
PHP数据库遍历是指通过代码逐行读取数据库查询结果集中记录的过程。遍历数据库时,需要使用特定的函数来获取和处理数据。在PHP中,常用的数据库遍历函数包括`mysqli_fetch_row()`和`PDO fetchColumn()`。
# 2. mysqli_fetch_row()函数
### 2.1 mysqli_fetch_row()函数介绍
#### 2.1.1 函数语法和参数
`mysqli_fetch_row()` 函数用于从 MySQL 结果集中获取一行数据,并以数组形式返回。其语法如下:
```php
mysqli_fetch_row(mysqli_result $result): array|NULL
```
其中,`$result` 为 `mysqli_query()` 函数执行查询后返回的结果集。
#### 2.1.2 函数返回值
`mysqli_fetch_row()` 函数返回一个包含当前行数据的数组,如果结果集中没有更多行,则返回 `NULL`。数组中的元素按列顺序排列,索引从 0 开始。
### 2.2 mysqli_fetch_row()函数使用示例
#### 2.2.1 获取单行数据
```php
$mysqli = new mysqli("localhost", "username", "password", "database");
$result = $mysqli->query("SELECT * FROM users WHERE id = 1");
$row = $result->fetch_row();
if ($row) {
echo "ID: " . $row[0] . "<br>";
echo "Name: " . $row[1] . "<br>";
echo "Email: " . $row[2] . "<br>";
}
```
#### 2.2.2 循环遍历多行数据
```php
$mysqli = new mysqli("localhost", "username", "password", "database");
$result = $mysqli->query("SELECT * FROM users");
while ($row = $result->fetch_row()) {
echo "ID: " . $row[0] . "<br>";
echo "Name: " . $row[1] . "<br>";
echo "Email: " . $row[2] . "<br>";
echo "<hr>";
}
```
**代码逻辑逐行解读:**
1. 使用 `mysqli_query()` 函数执行查询并获取结果集。
2. 使用 `mysqli_fetch_row()` 函数逐行获取结果集中的数据。
3. 使用 `while` 循环遍历结果集中的所有行。
4. 在循环体内,使用数组索引访问每一行的数据并输出。
# 3. PDO fetchColumn()函数
### 3.1 PDO fetchColumn()函数介绍
#### 3.1.1 函数语法和参数
PDO fetchColumn() 函数用于从查询结果集中获取指定列的数据。其语法如下:
```php
PDO::fetchColumn(int $column_number = 0, int $fetch_style = null)
```
| 参数 | 描述 |
|---|---|
| `$c
0
0