JSON codifica resultados de MySQL

Resuelto Trick Jarrett asked hace 54 años • 15 respuestas

¿ Cómo uso la json_encode()función con los resultados de la consulta MySQL? ¿Necesito recorrer las filas o puedo simplemente aplicarlo a todo el objeto de resultados?

Trick Jarrett avatar Jan 01 '70 08:01 Trick Jarrett
Aceptado
$sth = mysqli_query($conn, "SELECT ...");
$rows = array();
while($r = mysqli_fetch_assoc($sth)) {
    $rows[] = $r;
}
print json_encode($rows);

La función json_encodenecesita PHP >= 5.2 y el paquete php-json , como se menciona aquí

Las versiones modernas de PHP admiten la función mysqli_fetch_all() que obtendrá su matriz de una sola vez

$result = mysqli_query($conn, "SELECT ...");
$rows = mysqli_fetch_all($result); // list arrays with values only in rows
// or
$rows = mysqli_fetch_all($result, MYSQLI_ASSOC); // assoc arrays in rows

print json_encode($rows);
Paolo Bergantino avatar Dec 20 '2008 19:12 Paolo Bergantino

Si necesita colocar filas seleccionadas en un elemento distinto del json devuelto, puede hacerlo así: primero, obtenga la $rowsmatriz como en la respuesta aceptada y luego colóquela en otra matriz como esta

print json_encode(['object_name' => $rows]);
ddavtian avatar Jan 22 '2011 20:01 ddavtian