Ir para conteúdo

POWERED BY:

Arquivado

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

Mauricio Munhoz

Erro "Cannot access empty property in"

Recommended Posts

Caros Colegas do iMasters,

 

Estou fazendo uma aplicação em php com mysql, está ocorrendo o seguinte erro:

 

"Fatal error: Cannot access empty property in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\InfoMedical\Usuarios.class.php on line 24"

 

Segue um trecho do código ao qual o erro se refere ($result = mysql_query("SELECT # FROM usuario ....) :

 

<?class Usuarios{var $codigo_usuario = "";var $nome = "";var $cpf = "";var $rg = "";var $data_nascimento = "";var $telefone_fixo = "";var $telefone_celeular = "";var $email = "";var $tipo = "";var $db_conn = "";function Usuarios(){// Abre conexão com o banco de dados e seleciona o schema$this->db_conn = mysql_connect("localhost", "sistema", "senha") or die("ERRO_001: Não foi possível conectar com o Banco de Dados. Contate o adminstrador do sistema!");mysql_select_db("dbtest", $this->db_conn) or die("ERRO_002: Não foi possível conectar com o Banco de Dados. Contate o adminstrador do sistema!");} // fim do método construtorfunction carregarDadosUsuario(){// Efetua busca do usuário e carrega os dados nas variáveis da classe$this->codigo_usuario = $_COOKIE['codigo_usuario'];// O trecho abaixo é a linha 24 ao qual o erro está apontando ******************************************$result = mysql_query("SELECT # FROM usuario WHERE usu_cod='$this->codigo_usuario'", $this->$db_conn);// ******************************************************************************************$total = mysql_num_rows($result); if ($total == 1){$row = mysql_fetch_assoc($result);$this->codigo_usuario = $row['usu_cod'];$this->nome = $row['usu_nome'];$this->cpf = $row['usu_cpf'];$this->rg = $row['usu_rg'];$this->data_nascimento = $row['usu_dt_nasc'];$this->telefone_fixo = $row['usu_tel_fixo'];$this->telefone_celular = $row['usu_tel_cel'];$this->email = $row['usu_email'];$this->tipo = $row['usu_tipo'];// Usuário encontradoreturn true;}else // Usuário não encontradoreturn false;}// fim do método carregarDadosUsuario

Alguém poderia me dar uma mão?

 

Obrigado

 

Maurico

 

Escrevi um caractere errado na linha que está dando erro:

 

$result = mysql_query("SELECT * FROM usuario WHERE usu_cod='$this->codigo_usuario'", $this->$db_conn);

 

No lugar do * tinha colocado #, mas isso não está causando o erro. Fiz a correção e o erro ainda persiste....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colegas,Cometi um erro no momento de escrever o post... coloquei um # no lugar de *, segue a linha da forma correta (a mesma do erro):$result = mysql_query("SELECT * FROM usuario WHERE usu_cod='$this->codigo_usuario'", $this->$db_conn);O erro persiste....

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça debugs antes dos trechos onde ocorrem os erros.exemplo:

$conn = $this->$db_conn;$sql = "SELECT * FROM usuario WHERE usu_cod='" . $this->codigo_usuario . "'";echo "<b>SQL</b> " . $sql; exit; // comente essa linha pra continuar sem o debug$result = mysql_query($sql, $conn);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezados, fiz um debug para a string sql e a conexão, seguem os resultados e o código utilizado no debug:

 

Código de Debug:

 

<code> echo "<b>SQL: </b> " . $sql . "\n\n<b>String de conexão: </b>" . $this->db_conn; exit; </code>

 

Resultado:

 

SQL: SELECT * FROM usuario WHERE usu_cod='9'

 

String de conexão: Resource id #4

 

 

Esse erro está me quebrando as pernas...rsss

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro está meio que evidente... http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

 

$result = mysql_query("SELECT * FROM usuario WHERE usu_cod='$this->codigo_usuario'", $this->$db_conn);

Se tu já está referenciando o objeto $this, a propriedade db_conn não pode ter o $ alí. :rolleyes:

 

A propósito, no banco de dados o campo usu_cod é de que tipo? Se for inteiro não se usa apóstrofos na consulta... ;)

 

[]s :D

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.