Hoy mientras estaba programando un bucle en el cual hago consultas, me encontré con que de golpe la pagina tardaba mucho en cargar, y finalmente, apareció este error:
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 40 bytes) in /var/www/htdocs/dev/backend/class/class_mysqldb_query.php on line 135
En la linea 135 de ese archivo está la funcion mysql_query($sql);
¿Puede ser que hacer un for con una consulta a la base adentro sea el problema? Aquí les dejo el trozo de codigo:
Código PHP:
while ($root != 0) {
$sql = "select titulo, id_root, id_directorio from adm_directorios where id_root = '".$root."'";
// Esto realiza la consulta. $qry->consulta == mysql_query($sql);
if (!$qry->consulta($sql)) {
echo $qry->error();
exit();
}
if ($qry->numrows() > 0) {
$temp_path[] = $qry->get_array();
$root = $temp_path[$y]['id_root'];
$y++;
}
// Esto libera la memoria (mysql_free_result), pero, ¿necesitará un sleep?
$qry->free();
}
¿Que opinion me pueden dar sobre esto?
Muchas gracias!