tengo el siguiente problema. He hecho una clase para la gestión de los usuarios
Código PHP:
class usuBD(){
$idConsulta;
$usu_autentificado = array();
...
function autentificar($usu, $pase){
$sql="SELECT tl.pase AS pase, tu.nome AS nome, tu.rol AS rol FROM tusuarios AS tu, tlogin AS tl WHERE tl.nick='$user' AND tl.idUsu=tu.idUsu";
$this->consulta($sql);
if($this->idConsulta){ // consulta correcta
while($userAut = mysqli_fetch_assoc($this->idConsulta)){
if($userAut['pase'] == $pass){ // usuario autentificado
$this->usu_autentificado('nickUsu' => $user,
'nomeUsu' => $userAut['nome'],
'rolUsu' => $userAut['rol']);
return ($this->usu_autentificado);
}
else{ // usuario non autentificado
return 0;
}
}
}
else{ // consulta incorrecta
return 0;
}
}
..
}
Vale. Entonces en otro archivo aut.php, por ejemplo, hago lo siguiente...
Código PHP:
1 require_once("lib.php"); // dond tengo definidas las clases
2 $usuario = new usuBD();
3 $usu_autent = array();
4 $usu_autent =
5 $usuario->autentificar($_POST['formLoginNick'],$_POST['formLoginPass']);
6
7 $_SESION['nickUsu'] = $usu_autent['nickUsu'];
...
Código PHP:
Fatal error: Cannot use object of type mysqli_result as array in loquesea/aut.php on line 7
Una posible solución sería registrar las variables dentro de la clase, pero quiero que el método me devuelva esos 3 valores. Prefiero registrar las variables -si procede- en otro lugar.
Alguna ayuda?