繁体   English   中英

OOP PDO在循环时获取

[英]OOP PDO fetch while loop

我的课程中有一个功能尚未完成。 我正在寻找一种整夜做的方法。 好吧,我想在OOP类/函数中使用PDO将所有SELECT请求的结果提取到MYSQL。

在这里我的功能

function select($query)
{
    try
    {
    $sql = $this->connect->query($query);
        while ($row = $sql->fetch(PDO::FETCH_ASSOC))
        {
        return ????
        }
    }
    catch(PDOException $e) 
    {  
        echo $e->getMessage(); 
    }

}

我知道我可以用while循环来做,我测试了一些选项,但大多数时候我只得到1个结果。 对我来说,有什么意义,我可以开始寻找这个问题的解决方案吗?

实际上,这很简单。 您使用PDO::FETCH_CLASS并指定要为每行实例化的类。

下面是一个示例,它将所有可用行作为类YourClassName的对象数组获取。

function select($query) {
    try {
        $sql = $this->connect->query($query);
        return $sql->fetchAll(PDO::FETCH_CLASS, YourClassName);
    } catch(PDOException $e) {  
        echo $e->getMessage(); 
    }
}

只在while循环中使用$sql->fetch(PDO::FETCH_ASSOC) ,而不是之前,就像你拥有它一样。

所以,像:

while($row = $sql->fetch(PDO::FETCH_ASSOC)) {
    // something
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM