[PHP - OUTFILE] Echapper des sauts de ligne

Fermé
test26 - 14 avril 2011 à 09:11
a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 - 14 avril 2011 à 12:08
Bonjour,

Pour exporter ma base de données Mysql en vue d'une importation dans une autre base de données autre que mysql j'utilise la fonction SELECT INTO OUTFILE. Cependant il doit y avoir des sauts de ligne dans ma base mysql que ne sont pas échappés dans mon export ducoup je me retrouve avec des fichiers contenant des saut de ligne et donc inexploitable.

Voilà mon code :

$export_debiteur = mysql_query("SELECT * FROM ".TABLE_DEBITEUR." INTO OUTFILE '".$chemin."DEBITEUR.csv' FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '*'");

Résultat :

2433;*Nom Prénom*;*15 impasse des fous*;**;**;*GR-*;*YERRES*;**;*01.42.07.43.54*;**;**;**;*
SAUT DE LIGNE ICI*;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;**

J'aimerais avoir la même ligne mais sans saut de ligne :


2433;*Nom Prénom*;*15 impasse des fous*;**;**;*GR-*;*YERRES*;**;*01.42.07.43.54*;**;**;**;**;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;**

Comment puis-je faire pour échapper les sauts de ligne ?



Merci par avance

6 réponses

a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 217
14 avril 2011 à 09:26
Salut,

Il faut que tu utilises la fonction nl2br() autour de la variable que tu récupères de ta base de données

Cordialement
0
Merci pour ta réponse.

Comment mettre en place ta solution dans ma requête ?

$export_debiteur = mysql_query("SELECT * FROM ".TABLE_DEBITEUR." INTO OUTFILE '".$chemin."DEBITEUR.csv' FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '*'");

Merci
0
a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 217
14 avril 2011 à 09:55
C'est un peu après, au niveau de ton array qu'il faut que tu entoures ta requête de la fonction nl2br()

Exemple :

nl2br($variable);

Cordialement
0
Je ne peux pas faire ça.
En faite la requête OUTFILE me permet de remonter mes enregistrements de ma base de données et les écrit directement dans un fichier.

Il faudrait que je puisse échapper des caractères directement dans la requête.

Cordialement
0
a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 217
14 avril 2011 à 10:03
Tu as forcément une variable, étant donné que le résultat de ta requête est affichée quelque part, c'est autour de cette variable que tu dois mettre la fonction nl2br()
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Non non a aucun moment je n'affiche le résultat de la requête. Le résultat que je mets dans mon premier post est une ligne de mon fichier qui est générer lors de la requête.
0
a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 217
14 avril 2011 à 12:08
Peut être qu'elle ne s'affiche pas effectivement, mais dans ton code, tu as à un moment ou à un autre une variable que tu insères ensuite dans ton fichier.
0