Toutes mes données ne s'enregistrent pas dans ma base
konavab86
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Mon code consiste a recupérer toutes les lignes du fichier testImport.txt que je dois enregistrer dans ma bd
j'ai au total 15213 lignes de mon fichier a mettre dans la bd
tout marche bien aucune erreur sauf que il s'arrete au 2300e enregistrement
je veux savoir qu'est ce qui fait sa. Merci bcp pour vos reponses.
je vous donne mon code que voici
require_once "/Connections/connexion.php";
$nomComplet='D:\\testImport.txt';
$tab = file($nomComplet);
for($i=0 ; $tab[$i]; $i++){
$tableau=explode(";",$tab[$i]);
$connexion = @mysql_connect($hostname_connexion, $username_connexion, $password_connexion) or trigger_error(mysql_error(),E_USER_ERROR);
@mysql_select_db($database_connexion,$connexion);
$nom=str_replace("\"", "", $tableau[2]);
$nom=str_replace("'"," ",$nom);
$prenom=str_replace("\"", "", $tableau[3]);
$prenom=str_replace("'"," ",$prenom);
$cellulaire=trim(str_replace("\"", "", $tableau[5]));
$sexe=str_replace("\"", "", $tableau[6]);
if($tableau[7]=="")
{
$naissance="";
}
else
{
$naissance=str_replace("\"", "", $tableau[7]);
$naissance=explode("/",$naissance);
$annee=$naissance[2];
$mois=$naissance[1];
$jour=$naissance[0];
$naissance=sprintf("%4d-%02d-%02d",$annee,$mois ,$jour);
}
$profession=str_replace("\"", "", $tableau[8]);
$profession=str_replace("'"," ",$profession);
$telephone=str_replace("\"", "", $tableau[10]);
$email=trim(str_replace("\"", "", $tableau[11]));
$debutAdhesion=str_replace("\"", "", $tableau[12]);
$debutAdhesion=explode("/",$debutAdhesion);
$debutAdhesion=sprintf("%4d-%02d-%02d",$debutAdhesion[2],$debutAdhesion[1],$debutAdhesion[0]);
$boitePostal=str_replace("\"", "", $tableau[13]);
$numeroCarte=trim(str_replace("\"", "", $tableau[15]));
$expirationCarte=str_replace("\"", "", $tableau[16]);
$expirationCarte=explode("/",$expirationCarte);
$expirationCarte=sprintf("%4d-%02d-%02d",$expirationCarte[2],$expirationCarte[1],$expirationCarte[0]);
$commune=str_replace("\"", "", $tableau[9]);
$conseiller=str_replace("\"", "", $tableau[17]);
$photo=str_replace("\"", "", $tableau[14]);
$sql="insert into consommateur (
id_conso
,nom
,prenom
,cellulaire
,sexe
,date_naissance
,profession
,telephone
,email
,date_adhesion
,boite_postale
,numero_carte
,date_expiration_carte
,id_commune
,id_conseiller
,photo
) values
(NULL,
'$nom','$prenom','$cellulaire',
'$sexe','$naissance','$profession',
'$telephone','$email','$debutAdhesion',
'$boitePostal','$numeroCarte','$expirationCarte',
'$commune','$conseiller','$photo'
)";
$result=mysql_query($sql);
mysql_close($connexion);
Mon code consiste a recupérer toutes les lignes du fichier testImport.txt que je dois enregistrer dans ma bd
j'ai au total 15213 lignes de mon fichier a mettre dans la bd
tout marche bien aucune erreur sauf que il s'arrete au 2300e enregistrement
je veux savoir qu'est ce qui fait sa. Merci bcp pour vos reponses.
je vous donne mon code que voici
require_once "/Connections/connexion.php";
$nomComplet='D:\\testImport.txt';
$tab = file($nomComplet);
for($i=0 ; $tab[$i]; $i++){
$tableau=explode(";",$tab[$i]);
$connexion = @mysql_connect($hostname_connexion, $username_connexion, $password_connexion) or trigger_error(mysql_error(),E_USER_ERROR);
@mysql_select_db($database_connexion,$connexion);
$nom=str_replace("\"", "", $tableau[2]);
$nom=str_replace("'"," ",$nom);
$prenom=str_replace("\"", "", $tableau[3]);
$prenom=str_replace("'"," ",$prenom);
$cellulaire=trim(str_replace("\"", "", $tableau[5]));
$sexe=str_replace("\"", "", $tableau[6]);
if($tableau[7]=="")
{
$naissance="";
}
else
{
$naissance=str_replace("\"", "", $tableau[7]);
$naissance=explode("/",$naissance);
$annee=$naissance[2];
$mois=$naissance[1];
$jour=$naissance[0];
$naissance=sprintf("%4d-%02d-%02d",$annee,$mois ,$jour);
}
$profession=str_replace("\"", "", $tableau[8]);
$profession=str_replace("'"," ",$profession);
$telephone=str_replace("\"", "", $tableau[10]);
$email=trim(str_replace("\"", "", $tableau[11]));
$debutAdhesion=str_replace("\"", "", $tableau[12]);
$debutAdhesion=explode("/",$debutAdhesion);
$debutAdhesion=sprintf("%4d-%02d-%02d",$debutAdhesion[2],$debutAdhesion[1],$debutAdhesion[0]);
$boitePostal=str_replace("\"", "", $tableau[13]);
$numeroCarte=trim(str_replace("\"", "", $tableau[15]));
$expirationCarte=str_replace("\"", "", $tableau[16]);
$expirationCarte=explode("/",$expirationCarte);
$expirationCarte=sprintf("%4d-%02d-%02d",$expirationCarte[2],$expirationCarte[1],$expirationCarte[0]);
$commune=str_replace("\"", "", $tableau[9]);
$conseiller=str_replace("\"", "", $tableau[17]);
$photo=str_replace("\"", "", $tableau[14]);
$sql="insert into consommateur (
id_conso
,nom
,prenom
,cellulaire
,sexe
,date_naissance
,profession
,telephone
,date_adhesion
,boite_postale
,numero_carte
,date_expiration_carte
,id_commune
,id_conseiller
,photo
) values
(NULL,
'$nom','$prenom','$cellulaire',
'$sexe','$naissance','$profession',
'$telephone','$email','$debutAdhesion',
'$boitePostal','$numeroCarte','$expirationCarte',
'$commune','$conseiller','$photo'
)";
$result=mysql_query($sql);
mysql_close($connexion);
A voir également:
- Toutes mes données ne s'enregistrent pas dans ma base
- Fuite données maif - Guide
- Base de registre - Guide
- La base de données de sécurité du serveur n'a pas de compte d'ordinateur pour la relation ✓ - Forum Réseau
- Supprimer les données de navigation - Guide
- Trier des données excel - Guide
aucun message d'erreur signalé
je pense que l'hypothèse de la limitation en temps d'exécution des scripts est à explorer
Mais comment on fait pour enlever cette limitation de temps d'exécution de script?
Et là il a pu enregistré dans la base jusqu'a l'enregistrement no 13256 et c'est là qu'il met une erreur de offset . Je pense que je suis pret du but . Je vais encore chercher l'origine des ces dernières erreurs. MERCI ET GRAND MERCI A LE PERE
Call Stack
# Time Memory Function Location
1 0.0132 403160 {main}( ) ..\fichier_base.php:0
voila l'erreur qu'il signale
L'enregistrement lu est sans doute une ligne vide, donc l'explode avec les point virgules ne te donne pas un tableau - en tous cas pas avec assez d'éléments.
Au fait, 2 remarques :
Il est aberrant de faire la connexion à la base de données à l'intérieur de ton for et de la refermer à chaque fois. Tu te connectes une seule fois avant le for, tu refermes la connexion une seule fois après. Ça ira beaucoup plus vite...
Plutôt que de bricoler toi-même des explode, lis ton fichier avec fgetcsv. C'est fait pour.