`mysql_fetch_array()` 是 PHP 中用于从 MySQL 查询结果集中获取一行的函数。它可以将结果集中的数据以数字索引或关联索引的方式存储在数组中,并允许通过字段名来访问这些数据。以下是关于 `mysql_fetch_array()` 的详细说明:
函数签名
```php
array mysql_fetch_array(int result, [int result_type])
```
`result`:由 `mysql_query()` 或 `mysql_db_query()` 返回的结果标识符。
`result_type`:可选参数,用于指定结果集的类型。它可以接受以下值:
`MYSQL_ASSOC`:返回关联数组,其中键是字段名,值是字段值。
`MYSQL_NUM`:返回数字数组,其中索引是字段名的位置。
`MYSQL_BOTH`:返回一个同时包含关联和数字索引的数组。
返回值
成功时,返回一个数组,包含查询结果集中当前行的数据信息。
失败时,返回 `false`。
使用示例
```php
$result = mysql_query("SELECT id, name FROM mytable");
while ($row = mysql_fetch_array($result)) {
echo "ID: " . $row . " Name: " . $row . "
";
}
```
注意事项
`mysql_fetch_array()` 需要一个有效的 MySQL 查询资源作为参数。
如果需要处理编码问题,可以在连接数据库时设置编码,例如:`mysql_query("set names 'utf8'");`。
废弃
`mysql_*` 函数系列在 PHP 7.0.0 中已被废弃,并在 PHP 7.0.0 之后的版本中被移除。建议使用 `mysqli_*` 函数系列或 PDO 进行数据库操作。
建议
由于 `mysql_*` 函数系列已被废弃,建议使用 `mysqli_*` 函数系列或 PDO 进行数据库操作。这些新的函数提供了更好的性能、更丰富的功能和更好的安全性。以下是一个使用 `mysqli_*` 函数的示例:
```php
$mysqli = new mysqli("localhost", "username", "password", "database");
if ($mysqli->connect_error) {
die("连接失败: " . $mysqli->connect_error);
}
$result = $mysqli->query("SELECT id, name FROM mytable");
while ($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"] . " Name: " . $row["name"] . "
";
}
$mysqli->close();
```
通过使用 `mysqli_*` 函数或 PDO,你可以更好地管理数据库连接、执行查询并处理结果集。