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

为什么我的 PHP 中的 MySQL 查询只返回一行?

Barbara Streisand
发布: 2024-12-01 03:54:11
原创
698 人浏览过

Why Does My MySQL Query in PHP Only Return One Row?

MySQL 查询仅返回一行:调试和解决

使用 MySQL 时,遇到 PHP 脚本仅检索单行的情况可能会令人困惑。当查询本身有效,但脚本的实现阻止它检索所有预期的行时,就会出现此问题。

解决问题

考虑提供的 PHP 代码,其中执行查询以从 fastsearch 表中检索行:

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

虽然 SQL 查询返回多个行,脚本仅显示一行。出现此行为的原因是 mysql_fetch_assoc() 默认情况下仅获取一行。要检索所有行,我们需要使用循环来迭代它们。

解决方案:使用 while 循环检索多行

更正后的代码片段将使用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);
}
登录后复制

在此更新的代码中, mysql_fetch_assoc() 在循环内调用,并且 $row 变量被分配当前行。这允许循环遍历查询结果中的每一行,从而允许打印所有行。

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

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