【问题标题】:fetch on PDO returns only one row and first character. why?PDO 上的 fetch 仅返回一行和第一个字符。为什么?
【发布时间】:2012-11-02 08:46:06
【问题描述】:

我是 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 饮料。我怎样才能像上面的例子一样分别回显结果?我想把它们放在一个列表框中

谢谢

【问题讨论】:

    标签: php pdo fetch


    【解决方案1】:

    您正在使用:

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

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

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

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

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

    【讨论】:

    • 是的,你说得对。我把 fetchall 然后使用 -> 对象显示结果。谢谢
    猜你喜欢
    • 2017-04-17
    • 2019-07-22
    • 1970-01-01
    • 2019-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-07
    相关资源
    最近更新 更多