Bonjour a tous, j’ai un relativement gros problème.
Mon code php doit inserer un grand nombre (pour moi environ 200) d’enregistrements dans ma base de données MySQL et ensuite en updater certaines a partir d’une analyse de code…certaines donnée sont ajoutée a chaque analyse et d’autre mise à jour et enfin supprimées si datant de plusde 48h si bien que le volume varie un peu mais n’augmente pas indéfiniment.
Jusqu’ici tout allait bien mais depusi deux jour la page ne s’affiche qu’a moitiée : j’ai vu d’ou vient le problème : au bout d’un certains nombre de requetes, php arrete tout simplement son code. Hors je n’ai rien modifié au code !!! J’ai réduit par des petites astuces le nombre d’insert en les regroupant mais il en accepte de moins en moins et maintenant je ne peux plus en faire plus de 10 dans mon code…
Cela vient il d’un “trop plein” dans le cache de MySQL ou d’autre chose dnas le genre ?
Je bloque vraiment la merci d’avance de votre aide
Je ne pense pas que le code ai une grande importance…car après mes déboires pour faire marcher ce code, j’en ai fait un simple et standard pour voir si ce n’était pas la base de données :
for ($i=0;$i<$taille;$i++) {
$CONN->exec("insert into TEST ('$i');
echo "ligne de test $i<br>";
}
sachant que $CONN est un objet de connexion SQL et exec une fonction pour exécuter la requete…le code php arrete de s’exécuter à la requete n°14 sans autre forme de procès
Le gros probleme c’est surtout qu’avant ça marchait avec genre 200 requetes et que la en testant, ça bloque à 14…
alors non ce n’est pas un script de batch c’est en php et comme j’utilise la base mySQL de free, je ne pense pas avoir acces au php.ini…si ?
Bref je pense aussi que c un problème de cofiguration de base…mais je ne suis pas trees doué en administration
Tu peux éventuellement séparer ton script en plusieurs requêtes, avec ajax/javascript pour la transition : l’idée serait de faire une pause, avant de redémarrer.
J’ai déjà essayé mais meme avec une pause de 5 secondes cela ne semble pas marcher alors qu’ne exécutant plusieurs fois de suite la meme requete en faisant F5 ca marche… je me perds la :pt1cable:
Je te prierai de mettre le langage informatique dans le titre, tel que requis par la charte du forum programmation - pour une meilleure compréhension les uns des autres.