Question:
Date: 18-07-2020 12:03:27
(In Spanish)
Estoy tratando de acceder a las propiedades de un objeto a través de una consulta Mysql.
tabla= tb1
columna= cf
datos en columna cf = {"4":"12","6":" 2017 "}
Lo que necesito es guardar el valor de cada clave en una variable, ejemplo $d1=12; $d2=2017;
Hasta ahora no había trabajado con estas consultas, por ello necesito de su colaboración.
He tratado esto:
Votes: 0 - Answers: 2 - Views: 6 Share on: Google Facebook Twitter LinkedIn Link
Acceder a las propiedades de un objeto [Resolved]
Hola, necesito ayuda en lo siguiente:Estoy tratando de acceder a las propiedades de un objeto a través de una consulta Mysql.
tabla= tb1
columna= cf
datos en columna cf = {"4":"12","6":" 2017 "}
Lo que necesito es guardar el valor de cada clave en una variable, ejemplo $d1=12; $d2=2017;
Hasta ahora no había trabajado con estas consultas, por ello necesito de su colaboración.
He tratado esto:
$datos = $mysqli->query("SELECT cf FROM tb1 WHERE 1"); $datos_objeto = mysqli_fetch_assoc($datos); $d1 = $datos_objeto{'4'}; // he intentado también con [ ] $d2 = $datos_objeto{'6'}; // Lo que esperaría es $d1=12 y $d2=2017
Votes: 0 - Answers: 2 - Views: 6 Share on: Google Facebook Twitter LinkedIn Link
Answers:
-
Date: 18-07-2020 13:34:24 Lo que pasa es que mysqli_fetch_assoc($datos) te devuelve un array donde cada clave corresponde a un campo de la tabla. Entonces tienes que escribir $datos_objeto['cf'] para obtener el valor correspondiente.
Por otra parte, {"4":"12","6":" 2017 "} parece ser una cadena en formato JSON, por lo que en ese caso además tendrás que usar json_decode() para poder manejarla:
$cf = json_decode($datos_objeto['cf'], true);
De esta manera, podrás acceder a los valores así:
$cf[4]; // para obtener el valor 12 $cf[6]; // para obtener el valor 2017
El parámetro true en json_decode() indica que los datos se deben obtener como un array, ya que la función por defecto devuelve un objeto. Pero en este caso, como las claves del json son numéricas no podrías leerlas en forma de objeto y fallaría:
$cf->4; // esto no funcionaría
Votes: 1 - Link answer -
Date: 20-07-2020 07:14:16 Estimado Cristian, agradezco tu colaboración.
Tu respuesta ha solucionado la duda respecto al tema.
Muchas gracias y Saludos. Votes: 1 - Link answer
To actively participate in the community first must authenticate, enter the system.Sign In