无法获取所有行

时间:2014-11-08 15:50:16

标签: php sql oop foreach

我希望从数据库中获取所有房间类别!因此,没有双打,因为您可以添加具有特定类别的多个房间。

这是我的功能:

public function loadRoomselect(){
    $sql = "SELECT DISTINCT Catagory FROM room";
    $sth = $this->pdo->prepare($sql);
    $sth->execute();
    $row = $sth->fetchObject();
    print_r($row); var_dump($row);
    echo("<label for='catagory'>Category:</label><select id='catagory' name='catagory'><select name='catagory' id='catagory'>");
    foreach($row as $catagory){
        var_dump($catagory);
        echo("<option name=" . $catagory . ">" . $catagory . "</option>");
    }
    echo("</select>");
}

出于某种原因,它只是从数据库中获得第一个类别! Var_Dump给出:

object(stdClass)#4 (1) { ["Catagory"]=> string(6) "Single" 

我做错了什么?

1 个答案:

答案 0 :(得分:1)

使用:

$rows=  $sth->fetchAll(PDO::FETCH_OBJ);

而不是:

$row = $sth->fetchObject();

fetchObject只检索一行

修改

试试这个

foreach($rows as $category){
        var_dump($category);
        echo("<option name=\"{$category->Catagory}\">{$category->Catagory}</option>");
    }