我将使用以下方法执行foreach循环打印数组值:
GetHolidays()
但是foreach循环似乎没有执行,我的err.log中没有任何内容
有人可以帮忙吗?
答案 0 :(得分:5)
两个选项:
$query = $db->prepare("SELECT * FROM products WHERE category = 1");
$query->execute();
while($row = $query->fetch()){
var_dump($row);
}
Fetch()一次返回一行,因此您必须执行while循环才能获取所有结果。
或
$query = $db->prepare("SELECT * FROM products WHERE category = 1");
$query->execute();
$results = $query->fetchAll();
foreach($results as $row){
var_dump($row);
}
在上面的示例中,您使用fetchAll()一次获取所有行。然后在这些行上使用foreach循环。
首先,您必须使用query()函数准备查询。然后你必须用execute()执行它,但是你还必须检索结果,这不是自动完成的。为此,请使用fetch()或fetchAll()
请看以下链接:
http://php.net/manual/en/pdostatement.fetch.php http://php.net/manual/en/pdostatement.fetchall.php
答案 1 :(得分:2)
如何PDO:
$stmt = $db->prepare("SELECT * FROM products WHERE category = 1");
$stmt->execute();
$products = $stmt->fetchAll();
foreach($products as $product) {
var_dump($product);
}