Jump to content

call to a member function on a non object


rishi02

Recommended Posts

I am getting this error while building OOP portal.

Fatal error: Call to a member function count() on a non-object in C:\Users\Rishi\Documents\xampp\htdocs\PDO\Pitch_It\index.php on line 6

 

My index.php file:

<?php
require_once 'core/init.php';
 
$map = DB::getInstance()->get('maps', array('description','=','Rishi'));
//echo '<pre>', var_dump($map), '</pre>';
if(!$map->count()){
echo "No results";
}
else {
echo "Yup";
}
?>
 
My DB class:
<?php
class DB {
private static $_instance = null;
private $_pdo,
$_query, 
$_error = false, 
$_results, 
$_count = 0;
 
private function __construct(){
try{
$this->_pdo = new PDO('mysql:host='.Config::get('mysql/host').';dbname='.Config::get('mysql/db'),Config::get('mysql/username'),Config::get('mysql/password'));
} catch(PDOException $e){
die($e->getMessage());
}
 
}
public static function getInstance() {
if(!isset(self::$_instance)) {
self::$_instance = new DB();
}
return self::$_instance;
}
 
public function query($sql, $params = array()) {
$this ->_error = false;
if($this->_query = $this->_pdo->prepare($sql)){
if(count($params)){
$x = 1;
foreach($params as $param){
$this->_query->bindValue($x, $param);
$x++;
}
}
if($this->_query->execute()){
$this->_results = $this->_query->fetchAll(PDO::FETCH_OBJ);
$this->_count = $this->_query->rowCount();
}
else{
$this->_error = true;
}
}
return $this;
}
public function action($action,$table, $where = array()){
if(count($where) === 3){
$operators = array('=','>','<','>=','<=');
$field = $where[0];
$operator = $where[1];
$value = $where[2];
 
if (in_array($operator, $operators)) {
$sql = "{action} FROM {$table} WHERE {$field}{$operator} ?";
if(!$this->query($sql, array($value))->error()){
return $this;
}
}
}
return false;
}
 
public function get($table,$where){
return $this->action('SELECT *', $table, $where);
}
 
public function delete($table, $where = array()){
return $this->action('DELETE', $table, $where);
}
public function error() {
return $this->_error;
}
public function count() {
return $this->_count;
}
 
}
 
please help me out.

 

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.