如果用了 MYSQL_BOTH,将得到一个同时包含关联和数字索引的数组。 用 MYSQL_ASSOC 只得到关联索引(如同mysql_fetch_assoc() 那样), 用 MYSQL_NUM 只得到数字索引(如同 mysql_fetch_row 那样)。 1. mysql_fetch_array($rs,MYSQL_ASSOC) [@test01 model]# php test.php Array ( [name] => hellokitty [addr] => i dont kno ) [@test01 model]# more test.php <?php $link=mys 在PHP中,与MySQL数据库交互是常见的任务,其中包括获取SELECT查询的结果。本篇文章将详细讲解三种不同的方法来处理从MySQL数据库获取SELECT查询结果的数组。 `mysql_fetch_array()` 函数是PHP中用于从结果集中获取一行数据的常用方法。它可以根据提供的参数返回不同类型的数组: 1. **MYSQL_ASSOC**:当第二个参数设置为MYSQL_ASSOC时,`mysql_fetch_array()` 返回一个关联数组,其中键是列名,值是对应的列值。例如: ```php $result=mysql_fetch_array($rs,MYSQL_ASSOC); ``` 在这个例子中,`$result` 将是一个只包含列名作为键的数组,如 `['name' => 'hellokitty', 'addr' => 'i dont kno']`。 2. **MYSQL_BOTH**:默认情况下,如果没有提供第二个参数或设置为MYSQL_BOTH,`mysql_fetch_array()` 返回一个同时包含关联索引和数字索引的数组。这意味着你可以通过列名或列的顺序(索引)访问值。例如: ```php $result=mysql_fetch_array($rs,MYSQL_BOTH); ``` 这将产生如下的输出: ```php Array( [0] => hellokitty [name] => hellokitty [1] => i dont kno [addr] => i dont kno ) ``` 3. **MYSQL_NUM**:设置第二个参数为MYSQL_NUM,`mysql_fetch_array()` 将返回一个仅包含数字索引的数组,索引对应于列在结果集中的位置。例如: ```php $result=mysql_fetch_array($rs,MYSQL_NUM); ``` 结果将是: ```php Array( [0] => hellokitty [1] => i dont kno ) ``` 除了`mysql_fetch_array()`,还有其他获取结果集的方法。例如,`mysql_fetch_assoc()` 只返回关联数组,而 `mysql_fetch_row()` 只返回数字索引的数组。然而,这两个函数没有提供选择返回类型的能力,它们分别等同于使用 `mysql_fetch_array()` 并指定 MYSQL_ASSOC 和 MYSQL_NUM。 在使用这些函数时,需要注意的是,它们都会移动内部结果集指针,因此每次调用后,下一次调用将返回下一行数据,直到所有行都被处理完。为了避免内存消耗,通常在处理完结果集后,使用 `mysql_free_result($rs)` 来释放资源。 此外,代码示例中还展示了如何连接到MySQL服务器、选择数据库、执行SQL查询以及处理连接失败的情况。使用 `mysql_connect()` 和 `mysql_select_db()` 分别进行连接和选择数据库,`mysql_query()` 用于执行SQL语句。注意,这里的示例使用了已废弃的 `mysql_*` 函数系列,现代的PHP应用应该使用更安全的 `mysqli` 或 `PDO` 扩展来处理数据库操作。 在处理查询结果时,还可以使用 `mysql_result()` 函数来获取单个字段的值,但这种方法不适用于遍历整个结果集。在示例的最后部分,展示了如何使用 `mysql_result()` 获取查询结果中的特定值,但这个示例没有完成,因为循环处理结果集的部分被省略了。 总结来说,PHP提供了多种方式来处理MySQL SELECT查询的结果,包括 `mysql_fetch_array()` 的不同模式,以及其他函数如 `mysql_fetch_assoc()` 和 `mysql_fetch_row()`。选择合适的方法取决于你对结果集的访问需求,以及对性能和内存管理的考虑。然而,由于 `mysql_*` 函数已被弃用,建议更新代码以使用 `mysqli` 或 `PDO` 提供的更现代、更安全的接口。
- 粉丝: 45
- 资源: 932
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助