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

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

Linda Hamilton
发布: 2024-12-06 11:37:12
原创
1020 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板