parse json_numeric_check json_encode constantes array php mysql arrays json mysqli

json_numeric_check - Arreglo PHP hecho de filas sql a json_encode



php json_numeric_check (1)

En general, utilizo estos como para que el objeto JSON sea analizado con éxito. Se requiere aclarar que el encabezado de la página debe tener json como tipo MIME para que cualquier otro código pueda reconocerlo fácilmente.

<?php header(''Content-Type:application/json''); //Your Database query here... $output = mysqli_fetch_all($rutina,MYSQLI_ASSOC); echo json_encode($output);

Funciona para mí todo el tiempo ... No es necesario usar while loop, dará salida como una matriz asociativa de las filas encontradas por la consulta de la base de datos

Tengo problemas para convertir una matriz php hecha desde una consulta SQL a JSONObject con json_encode. Estoy usando google voley para lograr la conexión.

cuando se trata de un resultado de fila única, no recibo ningún problema, pero cuando hay más de 1 fila, obtengo un error en mi aplicación, lo que significa que no estoy realmente recibiendo un objeto JSON.

aquí está mi código php

if (mysql_num_rows($result) > 0) { $rutina = array(); while($row = mysql_fetch_assoc($result)) { $rutina[] = $row; }}

y lo devuelvo de esta manera

echo json_encode($rutina);

Sé que mysql está en desuso y estoy migrando a mysqli pronto.

¿Cuál es la forma correcta de convertir una matriz de mis filas sql en JSONObject?

EDITAR:

Aquí está mi código de Android que espera el JSONObject:

JsonObjectRequest solicitudRutina = new JsonObjectRequest( Request.Method.POST, //metodo de solicitud linkrutina, //url, se cambia en las variables map,//el objeto JSON que contiene el usuario que intentaremos descargar new Response.Listener<JSONObject>() { //el listener de la respuesta @Override public void onResponse(JSONObject response) { // si existe respuesta aca se cacha, String temp= response.optString("sinexito");//sinexito tiene el mensaje de error de no encontrar el usuario if(temp.equals("")){//si la rutina existe, iniciamos descarga rutinaview.setText(response.toString()); //obtenerRutina(response); } else{ Context context = getApplicationContext(); CharSequence text = "Problema al descargar la rutina, posiblemente no exita una asignada"; int duration = Toast.LENGTH_LONG; Toast toast = Toast.makeText(context, text, duration); toast.show(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { { Context context = getApplicationContext(); CharSequence text = "Error con la base de datos."; int duration = Toast.LENGTH_LONG; Toast toast = Toast.makeText(context, text, duration); toast.show(); } } }); VolleyApplication.getsInstance().getmRequestQueue().add(solicitudRutina);

estoy recibiendo el brindis por el error de respuesta. Supongo que es porque no estoy recibiendo un JSONObject? funciona bien con 1 fila solo tho.