1

我正在尝试显示“名称”对象,但它不起作用。我似乎在使用 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;
            }
        }
    }
4

2 回答 2

3

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

while( $products = $st->fetch(PDO::FETCH_OBJ) )
{
    echo $products->name;
}
于 2012-06-26T12:16:15.367 回答
1

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

于 2012-06-26T12:19:35.590 回答