【问题标题】:how to iterate through mysql_query() result [duplicate]如何遍历mysql_query()结果[重复]
【发布时间】:2012-08-22 04:45:52
【问题描述】:

可能重复:
How to iterate by row through a mysql query in php

之后:

 $result = mysql_query($query) or die("Error: Cant query database");

我要做的就是逐个遍历结果并显示用“;”分隔的值从上到下,从左到右;

我真的很尴尬,我不得不问这个“简单”的问题,但我没有得到结果,哈哈。可能是我没有得到的返回资源的结构,谁知道呢。

我不想插入行或字段名称,我只想迭代并显示它,不管结果如何。

【问题讨论】:

  • 请注意,您不应再在代码中使用mysql_* 函数。这些功能不再维护,是being deprecated。相反,您应该使用MySQLiPDO。不知道用哪个?那么this article 应该会有所帮助。
  • 你试过php.net/manual/en/mysql.examples-basic.php提供的任何例子吗?
  • 很抱歉对你的任务投了反对票,但我觉得你自己没有做任何研究。一个简单的搜索“mysql迭代结果”会在3秒内给你答案。
  • 好吧,我确实做了搜索,只是没有使用正确的关键字
  • @Jonah Bishop 很高兴知道这一点

标签: php mysql


【解决方案1】:
while($row = mysql_fetch_assoc($result)) {
   // Your code goes here...
   // OR
   echo "<pre>"; print_r($row); echo "</pre>";
}

【讨论】:

    【解决方案2】:

    检查:http://php.net/manual/de/function.mysql-query.php

    如果要显示结果的特定列:

    while ($row = mysql_fetch_assoc($result)) {
        echo $row['firstname'];
        echo $row['lastname'];
        echo $row['address'];
        echo $row['age'];
    }
    

    或者只是整个结果集:

    $result_set = mysql_fetch_assoc($result) or die(mysql_error());
    echo '<pre>';var_dump($result_set);echo '</pre>';
    

    【讨论】:

      【解决方案3】:

      这是我给出的答案的修改版本,符合我的逗号分隔规范。以防万一他们是其他人在寻找同样的东西。

      $result = mysql_query($query) or die("Error: Cant query database");
      
      while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) 
      {
          foreach ($line as $col_value) 
          {
              echo $col_value.";";
          }   
      }
      

      【讨论】:

        猜你喜欢
        • 2021-09-06
        • 2011-06-04
        • 2013-03-21
        • 2014-11-10
        • 2020-07-12
        • 2012-06-05
        • 2018-09-13
        • 2010-11-19
        相关资源
        最近更新 更多