Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/08/2016, 19:34
BaSingSe
 
Fecha de Ingreso: mayo-2012
Mensajes: 117
Antigüedad: 12 años
Puntos: 1
Extendiendo una clase

Buenos dias tengo una clase llamada login.php y otra Db que es quien hace la conexion a la base de datos ambas dentro del mismo directorio estoy tratando de extender la clase 'Login extends Db' y poder usar sus metodos pero me lanza este error "Call to undefined method Db::query"

Mi clase Db.php extiende a mysql y funciona perfectamente asi como mi clase db extiende a mysqli es como quiero hacer pero con la clase login

Código PHP:
Ver original
  1. //Class Db
  2. class Db extends mysqli{
  3.     private $User;
  4.     public function __construct(){
  5.         parent:: __construct('localhost','root','','peritaciones');
  6.         $this->connect_errno ? die("No conetacdo") : $c = 'Conectado';
  7.     }
  8.     function Confirm($sql){
  9.             return mysqli_num_rows($sql);
  10.        }
  11. }

Esta es mi estructura de login
Código PHP:
Ver original
  1. class Login extends Db{
  2.     //private $db;
  3.     public function __construct(){
  4.         $this->db = new Db();
  5.     }
  6.  
  7.     public function login($vals){
  8.                //Aqui dice que esta mi error que los metodos que llamo de Db no existen
  9.         $sql = $this->db->query("SELECT id_usuario, id_sesion, sesion_desde, correo_profesional, id_rol FROM sesion Where correo_profesional = '$vals[usuario]' AND contrasena = '$vals[contrasena]' AND estado = 1");
  10.         $res = $this->db->Confirm($sql);
  11.     }
  12. }

Me podrian decir donde esta mi equivocacion, No estoy usando ningun tipo de require_once, si lo uso entonces no me da ningun tipo de error pero quiero extender la clase para evitar usar el require_once ... se les agradece mucho

Última edición por BaSingSe; 22/08/2016 a las 19:49