[PHP-MySQL] Nombre d'inserts limité ?

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

Ca ressemble à un timeout…

Tu as essayé d’augmenter la valeur du max_execution_time dans ton php.ini?

Ton script c’est un script de batch?

dans ce cas : set_time_limit(0)

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

OUi, donc tu es bloqué sur ce point là.

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:

C’est pour virer la limite de temps?

Ca ne marcherait pas aussi avec un set_time_limit(60) a intervalle régulier dans le code?

Non. Pour commencer :


Bonjour,

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.

A lire :
http://www.clubic.com/forum/charte-du-foru…on-t306797.html

Pour éditer:
Suffit de cliquer sur ce bouton, dans ton message : http://www.clubic.com/forum/style_images/persoclubic/editer.gif

(note : ce message est un gros copier coller, ne pas répliquer derrière)

Pour finir, tu devrais diviser en plusieurs tâches si possible, et faire ça séquentiellement. set_time_limit ne doit pas être dispo chez free.

il me réponds ça

pfff…veut rien faire toujours à raler ce code

EDIT code ajouté ne début de post

Peux tu corriger le titre du topic (bis)