Si estás usando el modo orientado a objetos, en lugar de
mysqli_fetch_row($result)
, debería de ser
$result->fetch_row()
, aunque noto inconsistencia en el código que muestras.
Un ejemplo de conexión con una clase que luego será heredada por otra:
Archivo de conexión (conexion.php)
Código PHP:
Ver originalclass Conexion{
protected $mysqli;
protected $server = 'server';
protected $user = 'user';
protected $password = 'password';
protected $bd = 'bd';
public function __construct (){
return $this->mysqli = new mysqli
($this->server, $this->user, $this->password, $this->bd) or
exit ("No se pudo realizar la conexión"); }
public function __destruct(){
return $this->mysqli->close();
}
}
Archivo que contiene la clase que heredará a la clase anterior (consultas.php)
Código PHP:
Ver originalinclude_once 'conexion.php';
class Consultas extends Conexion{
public function __construct(){
parent::__construct(); //Aquí heredo la conexión
}
public function validar($query){
$sql = $this->mysqli->query($query);
if (!$sql) echo 'Se produjo un error';
else{
$result = $sql->fetch_row();
echo $result[2];
$sql->free();
}
}
}
Y para invocar a este método, solo te quedaría hacerlo así:
Código PHP:
Ver originalinclude_once 'consultas.php';
$consultas = new Consultas();
$consultas->validar('SELECT * FROM recordatorios WHERE id_recordatorio = 57');
Inténtalo así y dinos cómo te fue.
Saludos