Bonsoir,
En parcourant le forum j'ai vu que je n'etais pas le seul a avoir ce problème!!!
Malgrsè tout je n'ai pas réussi a le corriger.
Voila ce que je fais.
J'importe un fichier texte dans ma base, hors dans ce fichier texte il peut y avoir des apostrophes.
Donc cela me provoque une erreur SQL. L'import des données est stopé.
Voici mon codePHP qui importe mon fichier texte:
(l'erreur est pour le champ $texte)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 <?php /* Connexion bdd */ mysql_connect('','',''); mysql_select_db(''); //On vide la table mysql_query("TRUNCATE TABLE tableimport"); /* On ouvre le fichier à importer en lecture seulement */ $fp=fopen("import.txt","r"); while (!feof($fp)) /* Et Hop on importe */ { /* Tant qu'on n'atteint pas la fin du fichier */ $ligne = fgets($fp,4096); /* On lit une ligne */ /* On récupère les champs séparés par ; dans liste*/ $liste = explode( ";",$ligne); /* On assigne les variables */ $id = $liste[0]; $nom = $liste[1]; $prenom = $liste[2]; $texte = $liste[3]; /* Ajouter un nouvel enregistrement dans la table */ $query = "INSERT INTO tableimport VALUES('$id','$nom','$prenom','$texte')"; $result= MYSQL_QUERY($query); if(mysql_error()) { /* Erreur dans la base de donnees, sûrement la table qu'il faut créer */ print "Erreur dans la base de données : ".mysql_error(); print "<br>Importation stoppée."; exit(); } else /* Tout va bien */ print "Base mise a jour<br>";<br /> } echo "<br>Importation terminée, avec succès."; /* Fermeture */ fclose($fp); MYSQL_CLOSE(); ?>
Que dois-je faire pour eviter cette erreur.
J'ai tenté de rajouter ceci
mais sans résultats.
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part chaine = StringReplace(chaine, "'", "''", TReplaceFlags() << rfReplaceAll);
Partager