首页 >数据库 >mysql教程 >为什么我的 PHP 代码仅从带有 LIMIT 子句的 MySQL 查询返回一行?

为什么我的 PHP 代码仅从带有 LIMIT 子句的 MySQL 查询返回一行?

Linda Hamilton
Linda Hamilton原创
2024-12-06 11:37:121017浏览

Why Does My PHP Code Only Return One Row from a MySQL Query with a LIMIT Clause?

使用 PHP 解析 MySQL 中的单行返回

尝试使用 PHP 的 mysql_query() 和 mysql_fetch_assoc 从 MySQL 数据库检索多行时() 函数,用户可能会遇到只有一行的问题返回。

问题:


考虑以下 PHP 代码:

$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5");
$query2 = mysql_fetch_assoc($query);
print_r($query2);

此代码根据标签搜索从快速搜索表中检索数据。但是,它不会返回 LIMIT 子句指定的所有五行,而是仅返回第一行作为关联数组。

解决方案:

要纠正此问题,代码必须修改如下:

$query = mysql_query("SELECT `title`,
                             `url_title`
                        FROM `fastsearch`
                       WHERE `tags`
                            LIKE '%$q%'
                       LIMIT 5");

while ($row = mysql_fetch_assoc($query)) {
    print_r($row);
}
  • 已更正拼写: 变量名 $query 拼写正确。
  • 行迭代: mysql_fetch_assoc() 一次返回一行。通过在 while() 循环中使用它,每次迭代都会将当前行分配给 $row 变量。这允许检索和显示 LIMIT 约束内的所有行。

以上是为什么我的 PHP 代码仅从带有 LIMIT 子句的 MySQL 查询返回一行?的详细内容。更多信息请关注PHP中文网其他相关文章!

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