仅显示 PDO 结果集的一列[重复]

问题描述 投票:0回答:2

我正在尝试显示“名称”对象,但它不起作用。我似乎使用了 foreach 错误。我 print_r for $a 并显示了数组。有人可以帮忙吗。

public function product(){
    $st = $this->db->prepare("select id, name, description, price from deals where quantity > 0 order by id desc");
    $st->execute();
        
    if ($st->rowCount() == 0){
        echo "There are no products to display";
    } else {
        $a = $st->fetch(PDO::FETCH_OBJ)
            
        foreach ($a as $products){
            echo $products->name;
        }
    }
}
php pdo
2个回答
3
投票

我认为你不需要 foreach 循环来完成你正在做的事情。

while( $products = $st->fetch(PDO::FETCH_OBJ) )
{
    echo $products->name;
}

1
投票

fetch() 只返回一行。 您的 foreach 正在循环 fetch() 返回的对象的所有属性,即列名称。

© www.soinside.com 2019 - 2024. All rights reserved.