19) mysqli_fetch_row()和mysqli_fetch_array之间有什么区别
时间: 2023-11-11 11:06:45 浏览: 176
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
mysqli_fetch_row()和mysqli_fetch_array()都是PHP中用于从MySQL查询结果集中获取数据的函数。它们的区别如下:
1. mysqli_fetch_row()函数返回一个基于数字索引的数组,数组的下标是从0开始的整数,数组的值是结果集中的一行数据。例如:
```php
$result = mysqli_query($conn, "SELECT id, name, age FROM users");
while ($row = mysqli_fetch_row($result)) {
echo $row[0] . ", " . $row[1] . ", " . $row[2] . "<br>";
}
```
2. mysqli_fetch_array()函数返回一个既包含基于数字索引的数组,也包含关联索引的数组,数组的下标可以是数字或者字符串,数组的值是结果集中的一行数据。例如:
```php
$result = mysqli_query($conn, "SELECT id, name, age FROM users");
while ($row = mysqli_fetch_array($result)) {
echo $row[0] . ", " . $row[1] . ", " . $row[2] . "<br>";
echo $row['id'] . ", " . $row['name'] . ", " . $row['age'] . "<br>";
}
```
3. mysqli_fetch_array()函数比mysqli_fetch_row()函数更灵活,因为它可以通过指定参数来控制返回的数组类型。例如:
```php
$result = mysqli_query($conn, "SELECT id, name, age FROM users");
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
echo $row['id'] . ", " . $row['name'] . ", " . $row['age'] . "<br>";
}
```
在上面的例子中,mysqli_fetch_array()函数的第二个参数指定为MYSQLI_ASSOC,表示返回一个关联索引的数组。
总之,mysqli_fetch_row()函数返回一个基于数字索引的数组,而mysqli_fetch_array()函数返回一个既包含基于数字索引的数组,也包含关联索引的数组。如果需要更灵活的控制返回的数组类型,应该使用mysqli_fetch_array()函数。
阅读全文