J'ai fait une boucle while en php:Comment puis-je empêcher le serveur de se surcharger?
<?php
include_once("connect.php");
$search=mysql_query("SELECT * from chat ORDER BY id DESC LIMIT 1");
$row=mysql_fetch_assoc($search);
$type=$row['type'];
$id=$row['id'];
while($type!='n'){
usleep(10000);
$search=mysql_query("SELECT * from chat ORDER BY id DESC LIMIT 1");
$row=mysql_fetch_assoc($search);
$type=$row['type'];
}
$run=mysql_query("UPDATE chat SET type='o' WHERE id=$id");
mysql_close($conn);
echo $row['message'] . "<br/>";
?>
Il fonctionne toujours pour voir s'il y a des nouvelles entrées dans la base de données, mais je ne sais pas quoi faire pour garder le serveur de surcharge. J'ai essayé de dormir mais je ne pense pas que ce soit suffisant.
Je reçois également cette erreur "Erreur fatale: temps d'exécution maximum de 60 secondes dépassé" et je sais que je peux changer le nombre de répétitions dans le fichier .ini mais serait-ce sage? Cela aura-t-il un très mauvais effet sur les performances des serveurs?
il quitte la boucle parce que le UPDATE passe à travers et fait son travail, je demande juste s'il y a quelque chose que je peux faire pour le serveur. – nope
La mise à jour ne "passe" pas à la fin de la boucle - ce qui, comme le dit @Gaby, ne l'est jamais. –
mec, ça fait!les rangées sont mises à jour ce que tu n'as pas? Ça marche! – nope