IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Insérer une chaine dans la BDD


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Insérer une chaine dans la BDD
    Bonjour,

    Je suis actuellement en train de retoucher un site WEB et j'ai la nécessité de mettre à jour certains champs de la BDD.
    Je vous copie/colle le code qui me pose problème.

    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
    $reponse = mysql_fetch_array(mysql_query("SELECT Body,Body_html FROM textpattern WHERE Title='Liens Articles'"));
    extract($reponse);
     
    $search = '<h3><img src="/text/images/29.gif" align="left"/><a href="?s=Article&c=Groupe de travail" title="Groupe de travail" id="Article" accesskey="a">Groupes de travail</a></h3>';
    $add = '<h3><img src="/text/images/29.gif" align="left"/><a href="?s=Article&c='.$name.'" title="'.$name.'" id="Article" accesskey="a">'.$name.'</a></h3>';
    $replace = $search . $add;
    $Body = str_replace($search,$replace,$Body);
     
    $search_html = '<p><h3><img src="/text/images/29.gif" align="left"/><a href="?s=Article&c=Groupe de travail" title="Groupe de travail" id="Article" accesskey="a">Groupes de travail</a></h3></p>';
    $add_html = '<p><h3><img src="/text/images/29.gif" align="left"/><a href="?s=Article&c='.$name.'" title="'.$name.'" id="Article" accesskey="a">'.$name.'</a></h3></p>';
    $replace_html = $search_html . $add_html;
    $Body_html = str_replace($search_html,$replace_html,$Body_html);
     
    //echo $Body,$Body_html;
     
    mysql_query("UPDATE textpattern SET Body = '$Body', Body_html='$Body_html' WHERE Title='Liens Articles'");
    Lorsque j'affiche les variables $Body et $Body_html, j'ai bien le résultat voulu. Par contre quand je fais ma requête SQL, les 2 colonnes ne sont pas modifiées.

    J'ai fait un test avec la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("UPDATE textpattern SET Body = 'Test' WHERE Title='Liens Articles'");
    Cette dernière fonctionne, la colonne "Body" prend bien la valeur 'Test'.

    Je ne vois vraiment pas où se situe le problème ...


    Merci d'avance à ceux qui prendront le temps de m'aider.

  2. #2
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Bonjour,

    que t'affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "UPDATE textpattern SET Body = '$Body', Body_html='$Body_html' WHERE Title='Liens Articles'";
    si tu le place a la place de ton mysql_query() ?
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Ca m'affiche cela :

    UPDATE textpattern SET Body = '
    Groupes de travail
    Groupes de travail
    Test
    Ressources Humaines
    Gouvernance
    Fusions et Acquisitions
    Travail collaboratif
    Offres, Achats et Technologies
    Enseignement
    Relations extérieures
    Technologie et Open source (fermé)
    Coûts (fermé)
    CRM (fermé)
    Conduite du changement (fermé)
    Site WEB
    Autres
    Assemblées générales
    Comités de direction
    Manifestations
    Presse
    Notices d'utilisation
    ', Body_html='

    Groupes de travail

    Groupes de travail

    Test

    Ressources Humaines

    Gouvernance

    Fusions et Acquisitions

    Travail collaboratif

    Offres, Achats et Technologies

    Enseignement

    Relations extérieures

    Technologie et Open source (fermé)

    Coûts (fermé)

    CRM (fermé)

    Conduite du changement (fermé)

    Site WEB

    Autres

    Assemblées générales

    Comités de direction

    Manifestations

    Presse

    Notices d’utilisation
    ' WHERE Title='Liens Articles'
    On ne le voit pas ici mais chaque ligne correspond à un lien.
    Par conséquent, c'est bien ce que je veux insérer dans la base de données.

    C'est peut-être dû à l'apostrophe de "Notice d'utilisation" non ?

  4. #4
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Citation Envoyé par Pegase1407 Voir le message
    C'est peut-être dû à l'apostrophe de "Notice d'utilisation" non ?
    Oui absolument, tente ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // Echappement des caractères clé.
    $Body = addslashes($Body);
    $Body_html = addslashes($Body_html);
     
    // Envoi des informations correctement échappées.
    mysql_query("UPDATE textpattern SET Body = '$Body', Body_html='$Body_html' WHERE Title='Liens Articles'"
    Il est par ailleurs possible d'activer les magic quote du module MySQL cependant il est rarement activé chez les hébergeur c'est pour cela qu'il est préférable de ne pas les utiliser pour des raison de portabilité du code applicatif.
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci à toi, ça marche.

    Par contre, la fonction addslashes fait que je n'arrive plus à passer une ligne dans la base de données.
    Je faisais de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $exemple = $ex1.'\n\n'.$ex2

  6. #6
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Bonjour,

    je pense que ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $exemple = $ex1."\n\n".$ex2
    marchera mieux.
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci encore kazou.

    Problème résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Insérer une chaine dans une autre chaine
    Par apt dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 04/10/2012, 01h03
  2. insérer une valeur dans la bdd
    Par Kougar63 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/07/2009, 15h14
  3. Réponses: 2
    Dernier message: 04/10/2007, 11h31
  4. insérer une chaine dans un fichier XML
    Par 242 dans le forum Linux
    Réponses: 2
    Dernier message: 14/12/2006, 16h32
  5. insérer une date dans une BDD
    Par requiemforadream dans le forum ASP
    Réponses: 7
    Dernier message: 28/04/2005, 10h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo