par
baddevil » 18 nov. 2012, 22:53
bonsoir,
j essai d importer via un fichier texte les données séparées par des ; cependant j ai une erreur
j ai fais ceci
//Le chemin d'acces a ton fichier sur le serveur
$fichier = fopen("CARDIFF_BBDZ.txt", "r");
//tant qu'on est pas a la fin du fichier :
while (!feof($fichier))
{
// On recupere toute la ligne
$uneLigne = fgets($fichier, 99999);
//On met dans un tableau les differentes valeurs trouvés (ici séparées par un ';')
$tableauValeurs = explode(';', $uneLigne);
// On crée la requete pour inserer les donner (ici il y a 12 champs donc de [0] a [11])
$sql="INSERT INTO autotran VALUES ('".$tableauValeurs[0]."', '".$tableauValeurs[1]."', '".$tableauValeurs[2]."', '".$tableauValeurs[3]."', '".$tableauValeurs[4]."', '".$tableauValeurs[5]."',
'".$tableauValeurs[6]."', '".$tableauValeurs[7]."', '".$tableauValeurs[8]."', '".$tableauValeurs[9]."', '".$tableauValeurs[10]."', '".$tableauValeurs[11]."','".$tableauValeurs[12]."','".$tableauValeurs[13]."',
'".$tableauValeurs[14]."','".$tableauValeurs[15]."','".$tableauValeurs[16]."','".$tableauValeurs[17]."','".$tableauValeurs[18]."','".$tableauValeurs[19]."','".$tableauValeurs[20]."',
'".$tableauValeurs[21]."','".$tableauValeurs[22]."','".$tableauValeurs[23]."','".$tableauValeurs[24]."','".$tableauValeurs[25]."','".$tableauValeurs[26]."','".$tableauValeurs[27]."',
'".$tableauValeurs[28]."','".$tableauValeurs[29]."','".$tableauValeurs[30]."','".$tableauValeurs[31]."','".$tableauValeurs[32]."','".$tableauValeurs[34]."','".$tableauValeurs[35]."','".$tableauValeurs[36]."')";
$req=mysql_query($sql)or die (mysql_error());
// la ligne est finie donc on passe a la ligne suivante (boucle)
}
//vérification et envoi d'une réponse à l'utilisateur
if ($req)
{
echo"Ajout dans la base de données effectué avec succès";
}
else
{
echo"Echec dans l'ajout dans la base de données";
}
mais ca me retourne l erreur suivante
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'urgence, Allumage automatique des feux, Climatisation automatique à réglage s' at line 3
il y a dans mes données des phrases avec des ' qui ont l air de posé problème
comment puis remedier a cela
merci d avance
edit: j ai resolu mon probleme en passant par un LOAD DATA LOCAL INFILE
bonsoir,
j essai d importer via un fichier texte les données séparées par des ; cependant j ai une erreur
j ai fais ceci
[php]
//Le chemin d'acces a ton fichier sur le serveur
$fichier = fopen("CARDIFF_BBDZ.txt", "r");
//tant qu'on est pas a la fin du fichier :
while (!feof($fichier))
{
// On recupere toute la ligne
$uneLigne = fgets($fichier, 99999);
//On met dans un tableau les differentes valeurs trouvés (ici séparées par un ';')
$tableauValeurs = explode(';', $uneLigne);
// On crée la requete pour inserer les donner (ici il y a 12 champs donc de [0] a [11])
$sql="INSERT INTO autotran VALUES ('".$tableauValeurs[0]."', '".$tableauValeurs[1]."', '".$tableauValeurs[2]."', '".$tableauValeurs[3]."', '".$tableauValeurs[4]."', '".$tableauValeurs[5]."',
'".$tableauValeurs[6]."', '".$tableauValeurs[7]."', '".$tableauValeurs[8]."', '".$tableauValeurs[9]."', '".$tableauValeurs[10]."', '".$tableauValeurs[11]."','".$tableauValeurs[12]."','".$tableauValeurs[13]."',
'".$tableauValeurs[14]."','".$tableauValeurs[15]."','".$tableauValeurs[16]."','".$tableauValeurs[17]."','".$tableauValeurs[18]."','".$tableauValeurs[19]."','".$tableauValeurs[20]."',
'".$tableauValeurs[21]."','".$tableauValeurs[22]."','".$tableauValeurs[23]."','".$tableauValeurs[24]."','".$tableauValeurs[25]."','".$tableauValeurs[26]."','".$tableauValeurs[27]."',
'".$tableauValeurs[28]."','".$tableauValeurs[29]."','".$tableauValeurs[30]."','".$tableauValeurs[31]."','".$tableauValeurs[32]."','".$tableauValeurs[34]."','".$tableauValeurs[35]."','".$tableauValeurs[36]."')";
$req=mysql_query($sql)or die (mysql_error());
// la ligne est finie donc on passe a la ligne suivante (boucle)
}
//vérification et envoi d'une réponse à l'utilisateur
if ($req)
{
echo"Ajout dans la base de données effectué avec succès";
}
else
{
echo"Echec dans l'ajout dans la base de données";
}
[/php]
mais ca me retourne l erreur suivante
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'urgence, Allumage automatique des feux, Climatisation automatique à réglage s' at line 3
il y a dans mes données des phrases avec des ' qui ont l air de posé problème
comment puis remedier a cela
merci d avance
edit: j ai resolu mon probleme en passant par un LOAD DATA LOCAL INFILE