Fatal error: Call to a member function getProntuario() [RESOLVIDO]

1. Fatal error: Call to a member function getProntuario() [RESOLVIDO]

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 16/03/2016 - 11:32h

Não sei que está acontecendo, mas simplesmente essa mensagem está sendo exibida:
Fatal error: Call to a member function getProntuario() on a non-object in D:\wamp\www\pep\index.php on line 25 

Esse é o trecho
 <?php 
//$prontuario = $_GET['prontuario'];
include 'controller/Paciente_Controler.class.php';
include 'beans/Paciente.class.php';
$paciente = new Paciente();
$paciente_Controller = new Paciente_Controler();

$paciente = $paciente_Controller->obterPaciente(1320620);
echo $paciente->getProntuario();
?>


meu beans está assim:
class Paciente{
private $prontuario;
private $nomePaciente;
private $telefone;
private $dtNascimento;

public function getProntuario() {
return $this->prontuario;
}

public function setProntuario($prontuario) {
$this->prontuario = $prontuario;
}



}


Help me!

Desde já agradeço


  


2. MELHOR RESPOSTA

Buckminster
Buckminster

(usa Debian)

Enviado em 16/03/2016 - 13:32h

Call to a member function [function] on a non-object

Isso ocorre quando há uma chamada a um método em uma variável que não é uma instância de um objeto.
Verifique se tu não usastes a variável errada na linha 25 ou se não modificastes o valor original da variável fazendo com que a instância do objeto fosse perdida.

3. Re: Fatal error: Call to a member function getProntuario() [RESOLVIDO]

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 16/03/2016 - 15:54h

Buckminster escreveu:
Verifique se tu não usastes a variável errada na linha 25..

o erro ocorre justamente na linha
echo $paciente->getProntuario(); 

eu faço a instância logo acima:
$paciente = new Paciente(); 



4. Re: Fatal error: Call to a member function getProntuario() [RESOLVIDO]

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 16/03/2016 - 16:03h

Descobri onde era o erro. Fique até com vergonha agora rsrsrs
o erro era que eu tinha me esquecido de dar o return na classe model dao
vejamos:
ERRADO:
public function getPaciente($prontuario){
require_once 'beans/Paciente.class.php';
require_once 'ConnectionFactory.class.php';
$conn = new ConnectionFactory();
$paciente = null;
$connection_resource = $conn->getConnection();
try{
$sql_text = "SELECT
P.CD_PACIENTE PRONTUARIO
FROM
PACIENTE P
WHERE
P.CD_PACIENTE = :prontuario";

$statement = ociparse($connection_resource, $sql_text);
oci_bind_by_name($statement, ":prontuario", $prontuario);
oci_execute($statement);
if($row = oci_fetch_array($statement, OCI_ASSOC)){
$paciente = new Paciente();
$paciente->setProntuario($row['PRONTUARIO']);
}
oci_close($connection_resource);
} catch (Exception $ex) {
echo "Erro: ".$ex->getMessage();
}
$paciente;
}


CORRETO:
public function getPaciente($prontuario){
require_once 'beans/Paciente.class.php';
require_once 'ConnectionFactory.class.php';
$conn = new ConnectionFactory();
$paciente = null;
$connection_resource = $conn->getConnection();
try{
$sql_text = "SELECT
P.CD_PACIENTE PRONTUARIO
FROM
PACIENTE P
WHERE
P.CD_PACIENTE = :prontuario";

$statement = ociparse($connection_resource, $sql_text);
oci_bind_by_name($statement, ":prontuario", $prontuario);
oci_execute($statement);
if($row = oci_fetch_array($statement, OCI_ASSOC)){
$paciente = new Paciente();
$paciente->setProntuario($row['PRONTUARIO']);
}
oci_close($connection_resource);
} catch (Exception $ex) {
echo "Erro: ".$ex->getMessage();
}
return $paciente;
}


Ai ai, falta de atenção mesmo.
Mas muito obrigado pela disposição


5. Re: Fatal error: Call to a member function getProntuario() [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 16/03/2016 - 16:54h

De nada.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts