kukamax 0 Denunciar post Postado Novembro 5, 2015 A conexão esta em outra classe e esta funcionando certinho, mas o select não funciona. <?php public function consulta(){ $pdo = parent::getDB(); $consulta = $pdo->prepare("SELECT * FROM Usuario"); $consulta->execute(); $linha = $consulta->fetchAll(PDO::FETCH_ASSOC); foreach($consulta as $nomeusuario){ echo $nomeusuario['NomeUsuario']; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Novembro 5, 2015 O que é "não funciona"? Explique melhor o que acontece Habilite todas as exibições de erro, como mostrado neste tópico, na Orientação No. 2, faça debug da query, como mostrado nesse mesmo tópico. Siga as orientações para descrever melhor seu problema Compartilhar este post Link para o post Compartilhar em outros sites
kukamax 0 Denunciar post Postado Novembro 5, 2015 Fiz o que esta estava no Tópico, mas o resultado do select vem em branco e não da erro. já conferir o nome do banco e da coluna, esta correto. Compartilhar este post Link para o post Compartilhar em outros sites
(RNU) Ruan Silva 61 Denunciar post Postado Novembro 5, 2015 Habilitou os erros conforme a recomendação do @Beraldo? coloca isso antes do foreach: $result = $consulta->execute(); if ( ! $result ) { var_dump( $consulta->errorInfo() ); exit; } Compartilhar este post Link para o post Compartilhar em outros sites
kukamax 0 Denunciar post Postado Novembro 5, 2015 Ruan coloquei o código, ele não mim retornei erro, e pagina retorna branca. $pdo = parent::getDB(); try{ $consulta = $pdo->prepare("SELECT * FROM Usuario"); $result = $consulta->execute(); if ( ! $result ) { var_dump( $consulta->errorInfo() ); exit; } foreach($consulta as $nomeusuario){ echo $nomeusuario['NomeUsuario']; } }catch (PDOException $e) { echo "Erro: ".$e->getMessage(); } } } Compartilhar este post Link para o post Compartilhar em outros sites
(RNU) Ruan Silva 61 Denunciar post Postado Novembro 5, 2015 A conexão esta em outra classe e esta funcionando certinho, mas o select não funciona. <?php public function consulta(){ $pdo = parent::getDB(); $consulta = $pdo->prepare("SELECT * FROM Usuario"); $consulta->execute(); $linha = $consulta->fetchAll(PDO::FETCH_ASSOC); foreach($consulta as $nomeusuario){ echo $nomeusuario['NomeUsuario']; } ?> No seu primeiro post, você cria o array associativo na variável $linha e no foreach você joga a $consulta... modifique seu foreach para $linha também :D foreach($linha as $nomeusuario){ Compartilhar este post Link para o post Compartilhar em outros sites
kukamax 0 Denunciar post Postado Novembro 6, 2015 Fiz assim, continua a mesma coisa sem retorno algum. <?php ini_set('display_errors', true); error_reporting(E_ALL); require_once 'conexao.php'; class Agendamento extends DataBase{ private $nomeusuario; public function setNomeUsuario($nomeusuario){ $this->nomeUsuario = $nomeusuario; } public function getNomeusuario($nomeusuario){ return $this->nomeusuario = $nomeusuario; } public function consulta(){ $pdo = parent::getDB(); $consulta = $pdo->prepare("SELECT * FROM Usuario"); $consulta->execute(); while($nomeusuario = $consulta->fetch(PDO::FETCH_ASSOC)){ echo "nome: ".$nomeusuario['NomeUsuario']; } } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
(RNU) Ruan Silva 61 Denunciar post Postado Novembro 6, 2015 Faz assim :) <?php ini_set('display_errors', true); error_reporting(E_ALL); require_once 'conexao.php'; class Agendamento extends DataBase{ private $nomeusuario; public function setNomeUsuario($nomeusuario){ $this->nomeUsuario = $nomeusuario; } public function getNomeusuario($nomeusuario){ return $this->nomeusuario = $nomeusuario; } public function consulta(){ $pdo = parent::getDB(); $sql = "SELECT * FROM Usuario"; $result = $pdo->query($sql); while($nomeusuario = $result->fetch(PDO::FETCH_ASSOC)){ echo "nome: ".$nomeusuario['NomeUsuario']; } } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
kukamax 0 Denunciar post Postado Novembro 6, 2015 @Ruan Silva, testei com seu código mas não funcionou, fiz uns teste aqui trocando o nome da tabela e da coluna, mas ele mim retorna em branco e sem erro, vou olhar aqui eu acho que o problema não é código não, ser puder fala algo sobre agradeço, desde já obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Novembro 6, 2015 Duas perguntas: 1. Se executar a query direto no MySQL, vem resultado? 2. Como e onde você está chamando o método consulta()? Compartilhar este post Link para o post Compartilhar em outros sites
kukamax 0 Denunciar post Postado Novembro 8, 2015 Bom dia Ruam, Ser pesquisa direto no MYSQL, funciona sim, eu só tenho 2 classe a de conexão e a do select. <?php //Conexao abstract class DataBase { const user = "root"; const pass = ""; private static $instance = null; private static function conectar(){ try { if (self::$instance == null): $dsn = "mysql:host=localhost;dbname=teste"; self::$instance = new PDO($dsn, self::user, self::pass); self::$instance->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); endif; } catch (PDOException $e){ echo "Erro: ".$e->getMessage(); } return self::$instance; } protected static function getDB(){ return self::conectar(); } } ?> //select <?php require_once 'conexao.class.php'; class Agendamento extends DataBase{ private $nomeusuario; public function setNomeUsuario($nomeusuario){ $this->nomeUsuario = $nomeusuario; } public function getNomeusuario($nomeusuario){ return $this->nomeusuario = $nomeusuario; } public function consulta(){ $pdo = parent::getB(); $sql = "SELECT * FROM Usuario"; $result = $pdo->query($sql); while($nomeusuario = $result->fetch(PDO::FETCH_ASSOC)){ echo "nome: ".$nomeusuario['nome']; } } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Novembro 8, 2015 A questão ainda é a miha segunda pergunta: Como e onde você está chamando o método consulta()? Mostre como está a chamada. Deve haver algum erro ali Compartilhar este post Link para o post Compartilhar em outros sites
kukamax 0 Denunciar post Postado Novembro 8, 2015 Vlw Ruam, resolver aqui estava chamando o método errado mesmo, obrigado pela sua atenção. Compartilhar este post Link para o post Compartilhar em outros sites