Problème d'exécution de requête
Bonjour à tous,
Il m'est demandé de mettre à jour une base de données SQL à partir de données contenues dans un fichier texte, les données correspondant à chaque enregistrement se trouvant sur une même ligne et séparées par des splits "|".
J'ai donc élaboré le code suivant pour remplir chaque table :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
/* Relecture du fichier */
$array_file = file('C:\Program Files\wamp\www\demo_test\donnees\patients.txt');
for ($i = 1; $i <= sizeof($array_file); $i++) {
$array_insert [6] ;
$cpt = 0 ;
for ($j = 1; $j <= 6; $j++){
$ptr = strpos(substr($array_file[$i],$cpt),"|");
$array_insert[$j] = str_replace("'"," ",substr($array_file[$i],$cpt,$ptr));
$cpt = $cpt + $ptr + 1 ;
}
// connection à la base
include ('connection.php');
/* !!!! INSERTION DANS LA BASE !!!! */
$sql_d="INSERT INTO patient (SIGLE,CENTRE,PATIENT,PHASE,INITIALES,DATE_INC)";
$sql_d.="VALUE ('$array_insert[1]','$array_insert[2]','$array_insert[3]',";
$sql_d.="'$array_insert[4]','$array_insert[5]','$array_insert[6]') ;";
$req_d = mysql_query($sql_d) or die('Erreur SQL !<br>'.$sql_d.'</br>'.mysql_error());
// déconnexion de la base MySQL
mysql_close();
} |
A priori, tout marche bien (les premières lignes sont insérées nikel), mais le soucis, c'est que le nombre l'enregistrement a insérer à chaque fois est très grand. Aussi, je me retrouve avec le message suivant :
Code:
1 2
|
Fatal error: Maximum execution time of 30 seconds exceeded in C:\Program Files\wamp\www\demo_test\base_update_patient.php on line 31 |
Vu que les requêtes effectuées à chaque tour de boucle ne sont pas très compliquées, il me semblait bizzard que leur temps d'exécution puissent dépasser le timeout d'exécution. J'ai également essayé de voir si cela ne venait pas du fichier source, mais ce n'est pas le cas.
Voilà. Toute aide est la bienvenue !
D'avance merci.
Jeannot
alors je comprends pas...
Je comprends pas pourquoi tu as ce fatal error s'il ne faut que 4 secondes pour effectuer la manipulation.