【发布时间】:2015-12-25 11:57:59
【问题描述】:
我是 PHP 中的 OOP 新手。我在尝试在 OOP 和 PDO 中重构代码时遇到问题。当我尝试重构我的代码时出现了问题。所以我有一个类别类来管理类别 CRUD 操作。要阅读所有以前创建的类别,我有一个方法
public function readAll(){
$query = "SELECT * FROM " . $this->table_name . " ORDER BY modified ASC";
$stmt = $this->connection->prepare($query);
if($stmt->execute()){
return $stmt;
}
}
在构造函数的同一个类中,我得到了我的数据库连接
public function __construct(PDO $db){
$this->connection = $db;
}
我在我的页面中调用 read all 方法 -
$allCategories= $category->readAll();
它工作得很好,但是当我尝试重构我的代码以使用像这样的新函数时-
private function doQuery($query){
$stmt = $this->connection->prepare($query);
if($stmt->execute()){
return $stmt;
}
}
public function readAll(){
$query = "SELECT * FROM " . $this->table_name . " ORDER BY modified ASC";
$this->doQuery($query);
}
我收到以下错误:
Fatal error: Call to a member function fetch() on a non-object in D:\xampp\htdocs\image-upload\category.php on line 222
所以我只想让自己不必在每次进行不同查询时都编写准备和执行语句。我正在尝试使我的代码干燥。我可能会遗漏一些东西。高度赞赏在正确方向上的轻微提示。请帮我。
“提前致谢”
【问题讨论】: