Sauvegarde de ma base de données: problemes de retour à la ligne

[Résolu]
Signaler
Messages postés
10
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
9 décembre 2009
-
Messages postés
10
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
9 décembre 2009
-
Je vais vous exposer brièvement mais précisément mon probleme: j'ai réalisé un script de sauvegarde totale de ma base de données dans un fichier, mais certaines des données de mon site sont entrées dans une textarea. Dans ce cas, j'utilise les fonctions htmlentities(addslashes($_POST["var"])); par exemple, mais lorsque j'utilise mon algo voici ce que j'obtiens donc dans mon fichier:

+ INSERT INTO membres VALUES ( '1', 'Nom', 'Prenom', 'adresse@hotmail.com', 'rue du vieux château
75000 Paris', 'admin');

Donc nous obtenons un retour à la ligne alors qu'il faut les eviter pour que la lecture de la commande SQL se fasse correctement. Le probleme est donc de supprimer ce retour à la ligne lors de la création du fichier.

Voici la partie de l'algo nous interessant:

    for($j=0; $j<mysql_num_fields($result);$j++)
    {
    if(!isset($row[$j]))
    $schema_insert .= " NULL,";
    elseif($row[$j] != "")
    $schema_insert .= " '".addslashes($row[$j])."',";
    else
    $schema_insert .= " '',";
    }

Merci d'avance, je commence a désesperer ^^

2 réponses

Messages postés
10
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
9 décembre 2009

Au risque de paraitre con, j'ai trouvé ^^

    for($j=0; $j<mysql_num_fields($result);$j++)
    {
    if(!isset($row[$j]))
    $schema_insert .= " NULL,";
    elseif($row[$j] != "")
        {
        $var = addslashes($row[$j]);
        $var_good = str_replace("\n","",$var);
        $schema_insert .= " '".$var_good."',";
        }
    else
    $schema_insert .= " '',";
Messages postés
10
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
9 décembre 2009

(a savoir que le retour à la ligne était présent dans le text area, c'était de la forme:

Rue du vieux château
75000 Paris

Donc les retours à la ligne dans la base sont voulus)