Pegando a posição do banco de dados para o PHP

MySQL

PHP

CRUD

Banco de Dados

18/10/2018

Galera estou com dificuldades nesse meu código, o objetivo dele é eu pegar o campo id (não especificamente a linha), usuario e senha e comparar com o que foi passado em um formulário HTML.
Estou com problema pois diz que não consigo pegar através da posição.
<?php
	session_start();
	require_once(''''../Classes/DaoUsuario.php'''');
	$autentificar = new DaoUsuario;
	$usuario = $_POST[''''usuario''''];
	$senha = $_POST[''''senha''''];
	if($autentificar->consultar($id) > 0){
		if ($usuario == $autentificar[1] and $senha == $autentificar[2]){
			header(''''Location:painel-de-controle.php'''');
			exit();
		}
	}else{
		header(''''location:administrador.php'''');
		session_destroy();
		exit();
	}
?>

Ele retorna o seguinte erro: Fatal error: Uncaught Error: Cannot use object of type DaoUsuario as array in autentificar.php:8 Stack trace: #0 thrown in autentificar.php on line 8
Rodrigo

Rodrigo

Curtidas 0

Melhor post

Alex William

Alex William

18/10/2018

Uma coisa que eu notei:
$autentificar = new DaoUsuario;


Não seria:
$autentificar = new DaoUsuario();


DaoUsuario não é um metodo dentro da tua pagina? Ou uma estancia de classe?
GOSTEI 1

Mais Respostas

Rodrigo

Rodrigo

18/10/2018

Sim, realmente acho que é isso. Obrigado.
GOSTEI 0
Rodrigo

Rodrigo

18/10/2018

Mas a dúvida realmente era, está certo a sintaxe de eu puxar o id pelo banco através da posição?
GOSTEI 0
Alex William

Alex William

18/10/2018

Mas a dúvida realmente era, está certo a sintaxe de eu puxar o id pelo banco através da posição?


Depende, tua estancia "DaoUsuario" retorna array para que você consiga acessar elas?

Tem como postar o codigo da "DaoUsuario.php" pra ver o que retorna a estancia?
GOSTEI 0
Rodrigo

Rodrigo

18/10/2018

public function consultar($id){
$query = "SELECT * FROM {$this->tabela} WHERE id=:id";
try{
$operacao = $this->status->prepare($query);
$operacao->bindParam(":id",$id, PDO::PARAM_INT);
$operacao->bindParam(":usuario",$usuario, PDO::PARAM_INT);
$operacao->bindParam(":senha",$senha, PDO::PARAM_INT);
$operacao->execute();
$getRow = $operacao->fetch(PDO::FETCH_OBJ);
$usuario = $getRow->usuario;
$senha = $getRow->senha;
$objeto = new Usuario($id, $usuario, $senha);
$objeto->setId($id);
return $objeto;
} catch (PDOException $erro) {
echo $erro->getMessage();
}
}
Isso é uma das funções que possuem no DaoUsuario (essa seria a função de consultar)
GOSTEI 0
POSTAR