Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kukamax

select com retorno em branco

Recommended Posts


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

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

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

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

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

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

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

@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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.