J'ai le code PHP de test assez simple qui suit extrait les données et les met en texte formaté JSON.Obtenir des données de MYSQL dans JSON en utilisant PHP
je reçois l'erreur suivante ..
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 1979603 bytes) in /var/www/test.php on line 33
Où la ligne 33 est la ligne json_encode()
.
Y at-il un moyen de rendre cela plus efficace? Le PHP.ini
est déjà réglé sur 32M au maximum, donc dimensionné à partir de la norme 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);
?>
J'aime ça! Très agréable! –
@Lee: non conventionnel, mais de cette façon vous n'avez pas besoin de stocker chaque ligne dans un tableau pour un encodage ultérieur. –
Ouais, une belle approche en effet, ça marche plus vite aussi! –