Problème d'apostrophe dans ma base.
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:
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.
Code:
chaine = StringReplace(chaine, "'", "''", TReplaceFlags() << rfReplaceAll);
Merci