首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL查询只显示第一个结果

问SQL查询只显示第一个结果
EN

Stack Overflow用户
提问于 2013-09-16 17:50:07
回答 5查看 310关注 0票数 0

下面的代码显示第116行两次,它不会显示第118行。你知道怎么解决这个问题吗?

代码语言:javascript
复制
$data = mysql_query("SELECT * FROM item WHERE dcid IN('116','118')")
        or die(mysql_error()); 
$info = mysql_fetch_array($data); 

foreach ($info as $item) {
  echo($item); 
}
EN

回答 5

Stack Overflow用户

发布于 2013-09-16 17:54:01

mysql_fetch_array只读取一行。通常在while循环中使用它来遍历所有结果。

继续上面的示例:

代码语言:javascript
复制
$data = mysql_query("SELECT * FROM item WHERE dcid IN('116','118')") or die(mysql_error()); 
while ($item = mysql_fetch_array($data)) {
    echo($item)
}
票数 2
EN

Stack Overflow用户

发布于 2013-09-16 17:57:13

您的查询必须为:

代码语言:javascript
复制
$data = mysql_query("SELECT * FROM item WHERE dcid IN('116','118')") or die(mysql_error()); 
while ($item = mysql_fetch_array($data)) {
    echo $item['column_name1'];
}   echo $item['column_name2'];
票数 1
EN

Stack Overflow用户

发布于 2013-09-16 17:59:10

mysql_fetch_array在这样的数组中返回一行,该数组同时包含关联数组和该行的常规数字键控结果集。

代码语言:javascript
复制
0=> column,
column=>column

这就是为什么它在foreach.Use中会返回两次,如下所示

代码语言:javascript
复制
mysql_fetch_array($result, MYSQL_ASSOC);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18825020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档