首页 >后端开发 >php教程 >为什么MySQL Fetch Array只检索查询结果的第一行?

为什么MySQL Fetch Array只检索查询结果的第一行?

Susan Sarandon
Susan Sarandon原创
2024-10-20 14:31:29988浏览

Why Does MySQL Fetch Array Only Retrieve the First Row of a Query Result?

MySQL 获取数组检索有限行

提供的代码旨在使用 PHP 中的 MySQL 扩展从数据库中检索多行。但是,它遇到了一个问题,即只能访问第一行。该查询检索以“a”、“b”或“c”开头的艺术家;但是,后续尝试访问第一个之外的行会导致未定义的偏移错误。

此问题的原因在于 mysql_fetch_array 函数的功能。它从结果集中返回一行作为关联索引数组。要访问多行,必须重复调用该函数,直到处理完所有行。

以下修改后的代码片段演示了如何迭代结果集中的所有行:

<code class="php">$array = mysql_query("SELECT artist FROM directory WHERE artist LIKE 'a%' 
        OR artist LIKE 'b%' 
        OR artist LIKE 'c%'");

while ($array_result = mysql_fetch_array($array)) {
    echo $array_result[0] . "\n";
    // Additional processing for each row can be performed here.
}</code>

在此代码中,while 循环继续调用 mysql_fetch_array,直到没有更多行可从结果集中检索。这允许代码根据需要处理每一行。

以上是为什么MySQL Fetch Array只检索查询结果的第一行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn