在PDO上获取只返回一行和第一个字符。为什么?

时间:2012-11-13 21:15:32

标签: php pdo fetch

我是PHP的PDO新手,我想要你的帮助。我使用select语句创建了一个函数,如果查询的值大于0,则返回fetch。

 $this->result->setFetchMode(PDO::FETCH_OBJ); 

 if ($this->result->rowCount() > 0) {     
   return $this->result->fetch(); 

 }

在我的主程序中我有这个

 foreach ($category_results as $row){
        echo .$row['id_category'].' '. $row['name']; 

 }

这个命令只回显1和F两次,但如果我只放$ row它回显所有结果正确,例如1食物,2饮料。我怎么能像上面的例子那样分别回应结果呢?我想把它们放在一个列表框中

谢谢

1 个答案:

答案 0 :(得分:3)

您正在使用:

 $this->result->setFetchMode(PDO::FETCH_OBJ); 

因此,您将把行存储在对象中,另请参阅manual

要获得它们,您可以使用:

 echo .$row->id_category.' '. $row->name; 

另请注意,fetch只获取一行,以获取所有行,使用fetchAll。但是,如果没有看到完整的代码,我不确定您是否需要它。