我很难得到一些我认为应该非常简单易用的东西。我创建了一个使用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和非基于类的脚本转移。
答案 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对象返回