首页 > 数据库 > mysql教程 > 为什么当存在多行时我的 PHP MySQL 查询只返回一行?

为什么当存在多行时我的 PHP MySQL 查询只返回一行?

Susan Sarandon
发布: 2024-12-02 11:23:09
原创
991 人浏览过

Why Does My PHP MySQL Query Only Return One Row When Multiple Rows Exist?

MySQL 检索仅限于单行

尝试使用 PHP 从 MySQL 表中检索多行时,您可能会遇到仅返回一行的情况,尽管有几行符合您的查询条件。此问题可能是由于代码实现不正确而引起的。

在提供的 PHP 代码中:

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

问题在于 mysql_fetch_assoc($quer) 的使用。该函数仅检索结果集的第一行并将其分配给 $query2。要检索与查询匹配的所有行,您需要使用 while 循环来迭代结果集。

更正后的代码将是:

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

while ($row = mysql_fetch_assoc($query)) {
    print_r($row);
}
登录后复制

此修改将每一行分配给while 循环中的 $row 变量,确保检索并显示所有匹配的行。

以上是为什么当存在多行时我的 PHP MySQL 查询只返回一行?的详细内容。更多信息请关注PHP中文网其他相关文章!

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