Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] object(stdClass) y acceder a sus campos

Estas en el tema de object(stdClass) y acceder a sus campos en el foro de PHP en Foros del Web. Obtengo un objeto del tipo object(stdClass) de una consulta que realizo a una DB. Código: $rs = odbc_exec( $conn, $sql_query ); ... $objBusca = odbc_fetch_object( ...
  #1 (permalink)  
Antiguo 22/04/2016, 01:50
Avatar de senseeye3led  
Fecha de Ingreso: abril-2016
Ubicación: 127.0.0.1
Mensajes: 163
Antigüedad: 8 años, 7 meses
Puntos: 11
Pregunta object(stdClass) y acceder a sus campos

Obtengo un objeto del tipo object(stdClass) de una consulta que realizo a una DB.
Código:
$rs = odbc_exec( $conn, $sql_query );
...
$objBusca = odbc_fetch_object( $rs, $busca+1 );
...
echo var_dump($objBusca);
Así puedo ver cómo está formado el objeto.

Por ejemplo:
Código:
object(stdClass)(2) { ["codigo_pieza"]=> string(4) "1234" ["piezaID"]=> NULL }
Lo que quiero hacer es acceder a "codigo_pieza" y guardar su valor en una variable.

¿Cómo podría hacerlo?

He intentado con
Código:
var_dump($objBusca-->codigo_pieza);
Y recibo un bool(true), yo pensaba que tendría un string(4).

¿Qué estoy haciendo mal?

Un saludo ;)
  #2 (permalink)  
Antiguo 22/04/2016, 02:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: object(stdClass) y acceder a sus campos

El operador correcto para acceder propiedades de un objeto es -> y no doble -->, que básicamente es código válido:

Código PHP:
Ver original
  1. // MAL
  2. var_dump($objBusca-->codigo_pieza);
  3. // el código anterior es interpretado por PHP así:
  4. var_dump($objBusca-- > codigo_pieza);
  5. // es decir:
  6. var_dump(($objBusca--) > (codigo_pieza));
  7. // lo cual básicamente es una comparación
  8.  
  9.  
  10. // BIEN
  11. var_dump($objBusca->codigo_pieza);

Lo curioso es que tu código no tiene errores de sintaxis, sólo que la sintaxis no representa lo que tenías en mente.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: campos, sql, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:47.