我在我的PHP项目中使用PDO,我不知道为什么这不起作用。它没有显示任何错误。
我有一个从数据库中读取数据的功能:
function Read_post($con,$table,$limit=6){
try {
$query = "SELECT * FROM {$table} ORDER BY id DESC LIMIT {$limit}";
$stmt = $con->prepare( $query );
$stmt->execute();
return $stmt->fetch(PDO::FETCH_ASSOC);
} catch (Exception $e) {
return "ERROR". $e->getMessage();
}
}
我使用foreach循环来显示数据。但它没有显示任何内容:
<?php $posts = Read_post($con,"posts"); ?>
<?php foreach ($posts as $key) {
echo "something ";
echo $key["title"];
} ?>
它没有显示其他文本,如果我只回显其他文本。
答案 0 :(得分:1)
在你的函数Read_post中,你有这一行:
return $stmt->fetch(PDO::FETCH_ASSOC);
它不会返回数组,它将返回一个PDO对象。您不能以与数组相同的方式迭代PDO对象。试试这个:
$result = $stmt->fetch(PDO::FETCH_ASSOC);
return $result;
答案 1 :(得分:0)
回显$value
或foreach
中数组的var_dump($post)
来检查包含的数组
某事
<?php foreach ($posts as $value) {
echo "something ";
echo $value;
} ?>