Hello im getting this error:
Fatal error: Uncaught Error: Call to a member function prepare() on null in D:\wamp\www\shop\app\models\m_categories.php on line 35
here is my code for m_categories.php
<?php
/*
Categories
Handles all tasks related to retrieving and displaying categories
*/
class Categories
{
private $Database;
private $db_table='categories';
function __construct()
{
global $Database;
$this->Database=$Database;
}
/*
Settting/Getting categories from database
*/
/**
* Return an array with category information
*
* @access public
* @param int(optional)
* @return array
*/
public function get_categories($id=NULL)
{
$data=array();
if($id != NULL)
{
// get specific category
if($stmt=$this->Database->prepare("SELECT id, name FROM" . $this->db_table . " WHERE id=? LIMIT 1"))
{
$stmt->bind_param("i", $id);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($cat_id,$cat_name);
$stmt->fetch();
if($stmt->num_rows > 0)
{
$data=array('id'=>$cat_id, 'name'=>$cat_name);
}
$stmt->close();
}
}
else
{
// get all categories
if($result=$this->Database->query("SELECT * FROM" . $this->db_table . "ORDER BY name"))
{
if($result->num_rows>0)
{
while($row=$result->fetch_array())
{
$data[]=array('id'=>$row['id'], 'name'=>$row['name']);
}
}
}
}
return $data;
}
}
?>
and init.php
<?php
/*
INIT
Basic configuration settings
*/
// connect to database
$server='localhost';
$user='root';
$pass='';
$db='shop';
$database=new mysqli($server,$user,$pass,$db);
// error reporting
mysqli_report(MYSQLI_REPORT_ERROR);
ini_set('display_errors', 1);
// setup constants
define('SITE_NAME', 'Online Store');
define('SITE_PATH','http://shop/');
define('IMAGE_PATH','http://shop/resources/images/');
// include objects
include('app/models/m_template.php');
include('app/models/m_categories.php');
// create objects
$template= new Template();
$categories= new Categories();
session_start();
and index.php:
<?php
include('app/init.php');
echo "<pre>";
print_r($categories->get_categories(3));
echo "</pre>";
/*$template->set_data('header','hello');
$template->set_alert('alert!');
$template->load('app/views/v_public_home.php', 'Welcome!');*/
?>
Thank you in advance.