Error fatal: llamada a un recuento de función de miembro () en booleano

class db { private $_pdo , $_query, $_error = false, $_results , $_count = 0 ; private function __construct () { try { $host = config::get('mysql/host'); $database = config::get('mysql/db'); $username = config::get('mysql/user'); $pasword = config::get('mysql/password'); $this->_pdo = new PDO("mysql:host=$host;dbname=$database", $username, $pasword); } 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)) { $x = 1 ; if(count($params)) { 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('=','>','=','query($sql,array($value))->error()) { return $this ; } } } return false ; } public function get($table , $where) { return $this->action("SELECT *",$table,$where) ; } public function delete($tabale , $where) { return $this->action('DELETE' ,$table , $where) ; } public function count() { return $this->_count ; } public function error() { return $this->_error ; } } 

index.php

 $a = db::getInstance()->get('users',array('username','=','ram')) ; if(!$a->count()) { echo "No User" ; } else { echo "OK " ; } 

Hay un error en el archivo de índice:

Error fatal: llamada a un recuento de función de miembro () en booleano en la línea 4.

Su método ->get(..) devuelve el valor de ->action que es un boolean así que hágalo así:

 $a = db::getInstance(); // returns the instance $a->get('users',array('username','=','ram')); // this return true or false if(!$a->count()) { echo "No User" ; } else { echo "OK " ; } 

También te perdiste $ en el ->action() , necesita ser:

 $sql = "{$action} FROM {$table} WHERE {$field} {$operator} ?" ;