在php类中使用PDO连接

时间:2012-05-30 11:39:59

标签: php pdo

我很难得到一些我认为应该非常简单易用的东西。我创建了一个使用PDO连接到数据库的类,并且最初只想创建一个函数来将直接SQL查询传递给它。

class PDO_MySQL
{
    private $_db;
    private $connection_string;

    public function __construct()
    {
        $this->_db = new PDO($this->connection_string, DB_USERNAME, DB_PASSWORD);
    }
    public function DB_Query($sql)
    {
        $query = $this->_db->query($sql);
        return $query;
    }
}

然后在我的代码中:

$db = new PDO_MySQL();
$people = $db->DB_Query("SELECT * FROM about_us");
print_r($people);

但这是回归

PDOStatement Object ( [queryString] => SELECT * FROM about_us )

当我正在寻找它以返回结果集时。

连接字符串已设置且连接正常我刚删除了此帖子的多余代码。

次要问题,这是最好的方法吗?我正在从MySQLi和非基于类的脚本转移。

1 个答案:

答案 0 :(得分:1)

而不是

public function DB_Query($sql)
{
    $query = $this->_db->query($sql);
    return $query;
}

你必须这样做:

public function DB_Query($sql)
{
    $query = $this->_db->prepare($sql);
    $query->execute();
    return $query->fetchAll();
}

,因为

  

PDO :: query - 执行SQL语句,将结果集作为PDOStatement对象返回