簡體   English   中英

遍歷表的PDO結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM