Ir para conteúdo

POWERED BY:

Arquivado

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

F_Jr

[Resolvido] Trying to get property of non-object in biblioteca AD

Recommended Posts

E aí galera beleza?

 

É o seguinte crie a função listarBairro que é o meu código logo abaixo:

 

function listarBairro() {
  $retorna = '';
  $sqlSelect = "SELECT * FROM bairro ORDER BY bai_nome";
  $res = $this->_con->_bank->Execute($sqlSelect);
  while($regbai = $res->FetchNextObj()) {
     $selecione = '';
     if($this->_reg->bai_codigo == $regbai->bai_codigo) {
        $selecione = 'selected';
     }
     $retorna = $retorna . '<option value="'.$regbai->bai_codigo.'"'.$selecione.'>'.$regbai->bai_nome.'</option>';
  }
  return $retorna;
}

 

Porém toda vez que executo o código dá o seguinte erro:

 

Notice: Trying to get property of non-object in

 

ele está na linha do if:

 

if($this->_reg->bai_codigo == $regbai->bai_codigo) {

 

Este código que criei é para listagem de bairros, ela é uma chave estrangeira da minha tabela de eventos. O meu formulário está da seguinte forma, onde se seleciona os bairros:

 

<form>
...
...
<div class="a1">
 <label for="endereco">Endereço.:</label>
 <div class="div_texbox">
   <input type="text" id="endereco" name="endereco" value="<?php print $endereco; ?>" />
 </div>
</div>

<div class="a2">
 <label for="bairro">Bairro.:</label>
 <div class="div_texbox">
   <select id="bai_codigo" name="bai_codigo" title="Selecione o Nome do Bairro!" size="1">
     <option>............Selecione o nome do bairro!.............</option>
       <?php
         print $manutencao->listarBairro();
       ?>
   </select>
 </div>
</div>

<div class="a1">
 <label for="data">Data.:</label>
 <div class="div_texbox">
   <input type="text" id="data" name="data" value="<?php print $data; ?>" />
 </div>
</div>
...
...
</form>

 

Assim quero saber o porque deste erro, e já tem dias que estou tentando resolver este problema, criei um outro código sem usar a biblioteca ADODB e deu certo a minha solução. Mas quero saber como trabalho este código usando a biblioteca ADODB para o PHP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aí pessoal beleza?

 

Consegui resolver o problema do select com a biblioteca adodb, assim foi uma pequena bobeira na qual não prestei atenção, então vamos lá para explicação:

 

Este erro que aconteceu porque estava tentando obter uma propriedade de um não objeto.

Notice: Trying to get property of non-object in C:\Wampserver\www\Projeto\admin\manutencao\ManutencaoEvento.class.php on line 131

 

Este foi o erro que falei para vocês na qual está na linha do if:

 

if($this->_reg->bai_codigo == $regbai->bai_codigo) {

 

Fazendo os testes neste código verifiquei que o $regbai->bai_codigo ele irá pegar o último elemento do meu select. E o $this->_reg->bai_codigo ele é responsável por pegar o valor do código. Por exemplo se o código $this->_reg->bai_codigo == $regbai->bai_codigo, eles forem iguais, então o meu formulário é de alteração, e se forem diferentes então o meu formulário é de inserção. Só que na hora de inserir o dado de um select ele mostrava esta notícia para min que estava tentando obter uma propriedade de um não objeto, e isto aconteceu por causa do $this->_reg->bai_codigo. Para resolver este problema foi a coisa mais simples do mundo só fiz a seguinte pergunta:

 

if(isset($this->_reg->bai_codigo) == $regbai->bai_codigo) {

 

Aqui estou dizendo se esta minha variável isset($this->_reg->bai_codigo) existir e for igual a minha variável $regbai->bai_codigo faça isto, senão faça outra coisa.

 

Fique a minha resposta para o pessoal que tiver dúvida.

 

Falou Galera!

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.