Ir para conteúdo

POWERED BY:

Arquivado

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

Junior Galvão

[Resolvido] Erro na Classe PDO

Recommended Posts

Galera seguinte,

 

estou com o seguinte erro sendo retornado de um método da classe PDO

 

Fatal error: Call to a member function query() on a non-object in /var/www/bias/db/ExecutaQueryAcesso.class.php on line 53

 

o interessante é que só acontece na classe que estou extendendo, se eu executar esse arquivo (ExecutaQueryAcesso.class.php) diretamente funciona numa boa...

Agora usando a herança não dá...

Segue o código:

 

Essa é a função da classe que é herdada

 

Class ExecutaQueryAcesso{

	   public $Conexao;
	   public $row;	 
	   
	   public function __construct(){
			
		 $conecta = new Conecta();
		 
		 $this -> Conexao = $conecta  -> conecta();
	   }

public function querySelect($campo){

			$select = $this -> Conexao;
			
			$stmtSelect = $select -> query("select `$campo` from tabela;"); //Aqui é onde da o erro

			while ($row = $stmtSelect -> fetch(PDO::FETCH_OBJ)){

					$resultado =  $row -> $campo. '<br />';
			
			}

		return $resultado;

		}

Aqui é onde chamo essa classe, em outro arquivo

require_once("ExecutaQueryAcesso.class.php");

class Sessoes extends ExecutaQueryAcesso {

function setDadosSessao(){

		$consulta = parent::querySelect("bias_acesso_nome");
		
		return $consulta;
	} 
	$teste = new Sessoes();	  
	print_r($teste -> setDadosSessao());

  }

Obrigado por qualquer ajuda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta chamar o construtor explicitamente antes da sua chamada ao método select.

E lembra de pegar as exceções que o PDO joga...

E no segundo código tem erro de sintax.

Se seus scripts foram para testes...ok...senão sugiro que dê uma revisada neles.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta chamar o construtor explicitamente antes da sua chamada ao método select.

E lembra de pegar as exceções que o PDO joga...

E no segundo código tem erro de sintax.

Se seus scripts foram para testes...ok...senão sugiro que dê uma revisada neles.

 

Consegui cara..

Resolvi assim

 

function __construct() {

 

$this -> teste = new ExecutaQueryAcesso();

 

 

}

 

e chamando assim:

 

function setDadosSessao(){

 

$consulta = $this -> teste -> querySelect("tabela");

 

return $consulta;

}

 

vlw a força

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.