dream04110 2018-07-17 06:19
浏览 86
已采纳

在php中获取多行

Actually I want a output of more than one row and its giving me only one. This is my code and it returns only one row. But when I run the same query SELECT DISTINCTROW metal, $fsym from metals ORDER BY id DESC LIMIT 4 in phpmyadmin it gives me my desired output of 4 rows.

function readAnother()
{
    $fsym =    $_GET['fsym'];
    echo $fsym . '<br>';
    $query = "SELECT DISTINCTROW metal, $fsym from metals ORDER BY id DESC LIMIT 4";
    $stmt = $this->conn->prepare($query);

    $stmt->bindParam(1,$this->fsym);
    $stmt->execute();

    $row = $stmt->fetchAll(PDO::FETCH_ASSOC);
    $this->metal = $row['metal'];
    $this->price_eur = $row[$fsym];

}
  • 写回答

2条回答 默认 最新

  • dongtiannan0367 2018-07-17 06:46
    关注

    As per discussion on comment: Use fetchall

    You can try below code

    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
    foreach ($rows as $row) {
        $this->metal = $row['metal']; // by this it will add the last 4th record metal value in the variable 
        $this->price_eur = $row[$fsym];
    }
    

    I will recommend that if you want to use all rows 'metal' then use the proper array

    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
    $finalArray = [];
    foreach ($rows as $row) {
        $finalArray[] = ['metal' => $row['metal'], 'price_eur'=> $row[$fsym]]
    
    }
    print_r($finalArray);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 如何将下列的“无限压缩存储器”设计出来
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口