[PHP - OUTFILE] Echapper des sauts de ligne

test26 -  
a70m Messages postés 2763 Date d'inscription   Statut Contributeur Dernière intervention   -
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
A voir également:

6 réponses

a70m Messages postés 2763 Date d'inscription   Statut Contributeur Dernière intervention   217
 
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
test26
 
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   Statut Contributeur Dernière intervention   217
 
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
test26
 
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   Statut Contributeur Dernière intervention   217
 
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
test26
 
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   Statut Contributeur Dernière intervention   217
 
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