这个PDO声明有什么问题?不能使用PDOStatement类型的对象作为数组

时间:2013-04-20 20:28:59

标签: php mysql pdo

我想从“主题”表中获取每个结果。

function display_all_themes()
{
    global $pdo;    
    $select = $pdo->prepare("SELECT * FROM themes");
    $select->execute();

    while ($row = $select->fetch(PDO::FETCH_ASSOC))
    {
        echo $select['theme_name'].'<br />';
    }
}

出现此错误:

致命错误:无法在第137行的C:\ xampp \ htdocs \ driptone \ inc \ functions.inc.php中使用PDOStatement类型的对象作为数组

第137行:

    echo $select['theme_name'].'<br />';

有什么问题? 感谢。

3 个答案:

答案 0 :(得分:3)

您在循环内使用$select而不是$row

while ($row = $select->fetch(PDO::FETCH_ASSOC))    {
    echo $row['theme_name'].'<br />';
}

答案 1 :(得分:2)

使用 $ row ,但$ select

除外
echo $row['theme_name'].'<br />';

答案 2 :(得分:2)

您已将其分配给$row,但您正在呼叫$select

应该是:

while ($row = $select->fetch(PDO::FETCH_ASSOC))    
{
    echo $row['theme_name'].'<br />';
}