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

18/10/2018

0

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

Responder

Post mais votado

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?

Alex William

Alex William
Responder

Mais Posts

18/10/2018

Rodrigo

Sim, realmente acho que é isso. Obrigado.
Responder

18/10/2018

Rodrigo

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

18/10/2018

Alex William

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?
Responder

18/10/2018

Rodrigo

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)
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar