como soluciono este error “Notice: Trying to get property of non-object “

publicado por: Anonymous

Notice: Trying to get property of non-object in
C:xampphtdocsferias-masterferias.php on line 84

    <?php
                        $rsFeriasMarcada = 
                        mysqli_query($link, "SELECT * FROM tab_ferias WHERE num_id_colaborador = $ferias->id_colaborador");

                        $feriasMarcada = mysqli_fetch_object($rsFeriasMarcada);

   linea 84---->        if ($feriasMarcada->num_id_colaborador == 0) {
                        ?>
                        <a href="marcar-ferias.php?id=<?php echo $ferias->id_colaborador; ?>">Marcar</a>
                        <?php
                        } else {                        
                            $dataFeriasMarcada = strtotime($feriasMarcada->dt_fim_ferias);
                            $dataAtual = strtotime(date('Y-m-d'));                      
                            if ($dataFeriasMarcada < $dataAtual) {

                            mysqli_query($link, "UPDATE tab_colaborador SET dt_ultferias_inicio = '$feriasMarcada->dt_inicio_ferias', dt_ultferias_fim = '$feriasMarcada->dt_fim_ferias' WHERE id_colaborador = $feriasMarcada->num_id_colaborador");
                            mysqli_query($link, "DELETE FROM tab_ferias WHERE num_id_colaborador = $ferias->id_colaborador");
                            }

                            echo DataBr($feriasMarcada->dt_inicio_ferias) . " &agrave; " . DataBr($feriasMarcada->dt_fim_ferias) . " <a href='ferias.php?deletarFerias=" . $ferias->id_colaborador . "'><img src='img/ico_deletar.png' width='9' height='9' /></a>";
                        }
                        ?>

solución

Si la consulta no obtiene resultados devuelve un null:

Valores devueltos mysqli_fetch_object():

Devuelve un objeto con las propiedades de cadena que corresponden a la
fila obtenida o NULL si no hay más filas en el conjunto de resultados.

Antes de entrar en el if, podrías hacer una comprobación como:

if(!is_null($feriasMarcada )){...}
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *