El método
prueba()
tiene que estar o bien en la clase
conectar
o si deseas dejarla en la clase
prueba
(no deberías nombrar de la misma forma a una clase y a un método de la misma), esta debe heredar de la clase de conexión.
Puedes tener en un archivo a la clase de conexión:
Y en otro a la clase que heredará la clase de conexión:
Código PHP:
Ver original//Archivo B
include_once 'archivo de la clase de conexión';
class Conectar extends Con{
public function bd_conecta(){
parent::bd_conecta();
}
public function prueba(){
$this->bd_conecta(); //Invocas al método que invoca al método de la clase de conexión
$query = $this->link_id->query("SELECT..");
$total = $query->num_rows;
}
}
Fíjate que utilizo a la variable
$link_id
de la clase de conexión, pues esta es la que posee la instancia de la conexión, y utilizo la variable reservada
$this
para hacer referencia a la clase.
Trata de no repetir nombre. Puedes utilizar
métodos constructores que ejecutarán las instrucciones que posean de manera automática cuando la clase sea instanciada. Procura que los nombres de las clases empiecen por mayúscula (por un tema de
convención de nombres [otra referencia]).
Un saludo