Изучаю php, пытаюсь вникать в основы mvc. Дается тяжело, т.к. пока не знаю всех нюансов, собственно, отсюда и вопрос. Есть два класса:
Categories_Model
<?php
class Categories_Model {
public $id;
protected $table = 'categories';
protected $res;
public function getCategories() {
$this->res = mysqlQuery("SELECT `category_id`, `categoryName`, `title`, `description`, `keywords`
FROM ". $this->table ."");
}
}
?>
Categories_View
<?php
class Categories_View extends Categories_Model {
public $tpl;
public function __construct($template) {
$this->tpl = new IRB_Template($template);
}
public function actionMain() {
$this->createSidebar();
}
public function createSidebar() {
while($row = mysqli_fetch_assoc($this->res)) {
$row['id'] = $row['category_id'];
$row['name'] = $row['categoryName'];
$this->assign($row)->setBlock('links');
}
}
public function assign($var, $value = '') {
$this->tpl->assign($var, $value);
return $this->tpl;
}
public function run() {
$this->tpl->extendsTpl('index', 'content')->display();
}
}
?>
И есть контроллер:
<?php
$main = new Categories_View('main');
$main->actionMain();
$main->run();
?>
На выходе получаю ошибку: Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given.
И действительно, в классе Categories_View результат пустой - 0 строк, хотя в его родителе результат есть. Полдня бился, так и не смог понять, почему так происходит. Буду очень признателен за любую помощь.