Soporte » WordPress Avanzado » Notice: Trying to get property ‘descripcion’ of non-object

  • Alvaro Lagarde

    (@alvarolagarde)


    Hola grupo estoy teniendo un problema con una consulta $wpdb y no se cual es el error ya que estoy leyendo en foros y realmente esta el codigo correcto.

    Estoy realizando una consulta a una tabla (LIGA) que he creado en wordpress y ejecuto el siguiente código:

    <?php
    global $wpdb;
    $liga_activa = $wpdb->get_results( ”
    SELECT nombre, descripcion, f_inscripcion_inicio, f_inscripcion_fin, f_inicio, f_clausura, id
    FROM LIGA
    WHERE inscripcion_abierta like 1″,
    ARRAY_A);

    foreach ( $liga_activa as $nombre_liga ) {
    $f1 = date(“d/m/Y”, strtotime($nombre_liga->f_inscripcion_inicio));

    Si dejo la ultima línea de codigo me sale el siguiente error:

    Notice: Trying to get property ‘f_inscripcion_inicio’ of non-object in /opt/lampp/htdocs/miweb.com/templates/usuarios/inscripciones_usuarios.php on line 27

    me esta volviendo loco ya que no se porque no funciona y no me reconoce como Objeto a $nombre_liga->f_inscripcion_inicio

    si realizo un var_dump($liga_activa->f_inscripcion_inicio); me devuelve:
    Notice: Trying to get property ‘f_inscripcion_inicio’ of non-object in /opt/lampp/htdocs/miweb.com/templates/usuarios/inscripciones_usuarios.php on line 15
    NULL

    y si realizo un var_dump($liga_activa); me devuelve:
    array(1) {
    [0]=>
    array(7) {
    [“nombre”]=>
    string(6) “Liga 3”
    [“descripcion”]=>
    string(802) “Maecenas tincidunt congue leo, vitae vestibulum mi elementum vel. Donec pellentesque massa leo, et dignissim sapien vehicula tempus. Etiam malesuada bibendum diam sit amet ullamcorper. Sed tincidunt augue mauris, vel hendrerit nulla pretium congue. Curabitur fermentum nisi et accumsan feugiat. Curabitur aliquam faucibus purus, nec tempus elit rhoncus nec. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas ultricies at massa vel placerat. Integer ac porttitor lorem. Nunc non consequat ex. Quisque aliquet erat sagittis, volutpat metus in, pulvinar risus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nam vestibulum mollis auctor. Nunc quis dignissim lacus. Integer ac neque lacus. Etiam id maximus nibh.”
    [“f_inscripcion_inicio”]=>
    string(10) “2019-01-10”
    [“f_inscripcion_fin”]=>
    string(10) “2019-01-30”
    [“f_inicio”]=>
    string(10) “2019-04-14”
    [“f_clausura”]=>
    string(10) “2019-06-19”
    [“id”]=>
    string(2) “12”
    }
    }

Viendo 4 respuestas - 1 de 4 (de 4 total)
  • kallookoo

    (@kallookoo)

    Hola,

    Primero, intenta usar la etiqueta code para publicar codigos.

    Y tu problema es que intentas usar un array como object, ya que en get_results pusistes ARRAY_A con lo que no devuelve ningun object.

    Alvaro Lagarde

    (@alvarolagarde)

    Gracias @kallookoo por tu respuesta!!!! pero si no coloco nada me da error y no muestra nada.
    al colocar ARRAY_N si me regresa los datos.

    global $wpdb;
    $wpdb->show_errors( true );
    $liga_activa = $wpdb->get_results( ”
    SELECT nombre, descripcion, f_inscripcion_inicio, f_inscripcion_fin, f_inicio, f_clausura, id
    FROM LIGA
    WHERE inscripcion_abierta like 1″,
    ARRAY_N);

    foreach ( $liga_activa as $nombre_liga ) {
    $f2 = date(“d/m/Y”, strtotime($nombre_liga[2]));

    ESTO SI FUNCIONA, pero quiero una matriz asociativa y no una matriz indexada numericamente.

    kallookoo

    (@kallookoo)

    Buenas Alvaro,
    Yo cuando pasan cosas asi, lo que hago es ejecutar la consulta desde el terminal o el phpmyadmin para comprobar que realmente esta bien escrita.
    Te lo comento porque get_results (por defecto) o query devuelve un array con las filas siendo cada fila un object.

    Otra que podrias observar es habilitar el guardado de queries para comprobar que no se realiza ningun cambio despues del saneamiento.

    https://codex.wordpress.org/Editing_wp-config.php#Save_queries_for_analysis

    Alvaro Lagarde

    (@alvarolagarde)

    Gracias @kallookoo si efectivamente realizo en la consola SQL de phpmyadmin y esta correcto, por eso no se porque me esta haciendo este problema.

Viendo 4 respuestas - 1 de 4 (de 4 total)
  • Debes estar registrado para responder a este tema.