首页 > 后端开发 > php教程 > 为什么我的 MySQL 查询在 PHP 中执行时只返回一行?

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

Susan Sarandon
发布: 2024-11-03 08:35:02
原创
566 人浏览过

Why is my MySQL query only returning one row when executed in PHP?

MySQL 仅从查询返回一行

问题:

执行 SQL 时应该返回多行的查询,使用 PHP 的 mysql_query() 和 mysql_fetch_assoc() 只检索一行。直接在 PhpMyAdmin 中执行的 SQL 查询返回所有预期的行。

解决方案:

选项 1:使用循环迭代行

$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 变量,并且可以在循环内访问。

选项 2:使用 mysql_fetch_array() 检索行数组

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

$rows = array();
while ($row = mysql_fetch_array($query)) {
    $rows[] = $row;
}
登录后复制
  • 此代码使用 mysql_fetch_array() 检索行数组rows。
  • $rows 数组将包含查询返回的每一行的数组。

注意:

  • 出现此问题的原因是 mysql_fetch_assoc() 一次仅返回一行。
  • 拼写错误的变量名 $quer 而不是 $query 也可能导致此问题。

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

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