[英]Looping through PDO result of table
我有一個名為events
的表,帶有3個條目:
-------------------------------------
| Name | Description | Image | Date |
-------------------------------------
我正在調用如下的PDO查詢:
`Connection handled in a class`
$stmt = $DB_con->prepare("SELECT Name, Description, Image, Date FROM events");
$stmt->execute();
$events = array();
if ($stmt->execute()) {
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$events = $row;
}
}
然后在我的代碼中,當我調用$events
:
for ($x = 0; $x < count($events); $x++) {
echo $events[$x];
}
但是對我來說,所有回報是:
ArrayArrayArray
首先,在while()
循環中查看此語句,
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$events = $row;
^ it should be $events[]
}
在每次迭代中,您都將數組分配給$events
,而不是附加數組。
其次,當您執行此操作時, echo $events[$x];
它顯示ArrayArrayArray,因為$events[$x]
實際上是一個數組,而不是字符串。
因此,您的代碼應如下所示:
// your code
$events = array();
if ($stmt->execute()) {
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$events[] = $row;
}
}
for ($x = 0; $x < count($events); $x++) {
echo $events[$x]['Name'] . "<br />";
// like that you can do this
// echo $events[$x]['Description'];
// echo $events[$x]['Image'];
// echo $events[$x]['Date'];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.