probleme d'execution en lot de mysql_query($lsql , $link)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : probleme d'execution en lot de mysql_query($lsql , $link)

par zeus » 26 oct. 2007, 08:05

Pour aller dans le sens de Sekiltoyao, sache qu'il est possible de faire un unique insert qui peut insérer plusieurs lignes

Code : Tout sélectionner

INSERT INTO table1(champ1, champ2) VALUES (val1-1, val1-2), VALUES (val2-1, val2-2), VALUES (val3-1, val3-2)
Sachant que le plus gourmand lors de l'appel à mysql_query() n'est pas l'exécution de la requête sur le SGBD, mais les phases de connexion, validation et transmission.

par Sékiltoyai » 26 oct. 2007, 00:17

Au lieu d'augmenter le timeout, tu devrais plutôt chercher à optimiser ton script. Le fait que tu dépasses le timeout est une indication pour dire que ton script est très gourmand en ressources.

Probleme Resolu

par aserf » 25 oct. 2007, 18:50

Bonjour,

merci, effectivement j'ai changer la valeur, j'ai mis 600 au lieu des 30 d'origine, et maintenant mon scrypte marche, je vais regarder si il est possible de modifier cete valeur sur un serveur mutualise...

Merci encor,

a++
seb

par Tracker » 25 oct. 2007, 14:08

Salut,

Il est très probable que, suivant comment tu fabriques les chaines SQL, les ordres ne soient pas exécutables. Affiche mysql_error(...) si mysql_query('insert...') retourne false, tu auras plus d'info.

Sinon, il est également possible que, si ton script prend trop de temps, php interrompe son exécution. Dans ce cas, tu peux changer le temps max d'exécution via un ini_set(...) en début de script.


Tracker.

probleme d'execution en lot de mysql_query($lsql , $link)

par aserf » 25 oct. 2007, 13:44

Bonjour,

je suis confronter a un probleme d'insertion de donnée dans la base de donnée,
je fait une boucle et j'execute 410 requette Sql avec "mysql_query($lsql , $link)" et toute ne sont pas executer,

je pensais que certaine requette posais probleme, mais si je relance plusieur fois l'algo (je vide la table avant chaque execution) le nombre de ligne inserer est toujour different, (j'en est 410 a inserer), une fois 158 une fois 351, ... enfin je devient fous,

est ce qu'il existe une maniere particuliere d'inserer des donnée si on veux en executer un grand nombre d'affilé ?

merci,
Seb