Pegando a posição do banco de dados para o PHP
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.
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
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
Curtidas 0
Melhor post
Alex William
18/10/2018
Uma coisa que eu notei:
Não seria:
DaoUsuario não é um metodo dentro da tua pagina? Ou uma estancia de classe?
$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
18/10/2018
Sim, realmente acho que é isso. Obrigado.
GOSTEI 0
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
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
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)
$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