Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Tratando NOTICE PHP

Boa noite,

Estou lendo um arquivo excel no meu PHP

$medidorinstalado = $linha->getElementsByTagName("Data")->item(13)->nodeValue;

percebi que quando o campo no excel está vazio ele me retorna essa noticia

Notice: Trying to get property of non-object in C:\xampp\htdocs\APONTADOR_DINAMO_ENGENHARIA\upload_excel_apontamento_comercial.php on line 36

Gostaria de saber como tratar essa noticia, tipo ... Se existir esse erro va para a pagina x.php e não execute outra ação

tipo

$result = mysql_query($sql) or die(mysql_error());

algo assim, alguem conseguiu entender ?

Obrigado. Desde já, agradeço a atenção.

3 respostas
solução!

Oi Iago, tudo bom?

O erro indica que a gente ta tentando acessar a propriedade de algo que não é um objeto nessa linha:

 $linha->getElementsByTagName("Data")->item(13)->nodeValue;

Isso significa que esse pedaço:

 $linha->getElementsByTagName("Data")->item(13)

Quando a linha não existe, devolve algo que não é um objeto. A melhor abordagem é verificar o que temos de retorno nessa linha. Executando algo como:

var_dump( $linha->getElementsByTagName("Data")->item(13));die();

De qualquer forma, para evitar o problema você pode fazer a verificação:

$linha = $linha->getElementsByTagName("Data")->item(13);
if(is_object($linha)){
    $medidorinstalado = $linha->nodeValue;
} else {
    // faz o que você quiser caso a linha não devolva um objeto
}

Abraço =)

Obrigado campeão, muito bom, vou da uma olhada nisso ...

Não da certo, nao funciona ...