Tengo el siguiente código PHP de prueba bastante simple que extrae los datos y los coloca en texto con formato JSON.Obtener datos de MYSQL en JSON usando PHP
me sale el siguiente error ..
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 1979603 bytes) in /var/www/test.php on line 33
donde la línea 33 es la línea json_encode()
.
¿Hay alguna manera de hacerlo más eficiente? ¡El PHP.ini
ya está configurado en 32M como máximo, por lo tanto, tiene un tamaño desde el estándar de 8M!
<?php
require('../../admin/db_login.php');
$db=mysql_connect($host, $username, $password) or die('Could not connect');
mysql_select_db($db_name, $db) or die('');
$result = mysql_query("SELECT * from listinfo") or die('Could not query');
$json = array();
if(mysql_num_rows($result)){
$row=mysql_fetch_assoc($result);
while($row=mysql_fetch_row($result)){
// cast results to specific data types
$test_data[]=$row;
}
$json['testData']=$test_data;
}
mysql_close($db);
echo json_encode($json);
?>
¡Me gusta! ¡Muy agradable! –
@Lee: poco convencional, pero de esa manera no tiene que almacenar cada fila en una matriz para su posterior codificación. –
Sí, un buen enfoque, de hecho, ¡también funciona más rápido! –