{MySQL} Aide sur requête REPLACE

Résolu
Leghe -  
 fiu -
Bonjour,

Je tente la requête suivante sur le champ d'une table, mais cela ne fonctionne pas. Je pense que je sois avoir des caractères interdits.
Comment détourner cela ?

UPDATE table
SET champ = replace(champ, 'NOM', '<a title="NOM" href="http://www.xxxx.com/37-nom">NOM</a>');

MERCI !!

3 réponses

  1. Mihawk Messages postés 4753 Statut Contributeur 846
     
    Bonjour,
    Possiblement les guillemets double dans la code HTML. Essaye de les précéder d'un antislash \.
    0
  2. Leghe
     
    Non, je viens de tenter en modifiant la requête " par \", et toujours erreur...
    0
  3. fiu
     
    Salut

    Je viens de tester ton update dans ma ligne de commande MySQL et je n'ai eu aucune erreur :
    mysql> select * from t2 where id='fiu';
    +-----+------+-----------+
    | id  | ext  | lib       |
    +-----+------+-----------+
    | fiu | PGMR | C'est OK! |
    +-----+------+-----------+
    1 row in set (0.00 sec)
    
    mysql> update t2
        -> set lib = replace(lib
        -> , 'OK'
        -> , '<a title="OK" href="https://www.aaa.com/sorrypage/">OK</a>'
        -> ) where id = 'fiu';
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    mysql> select * from t2 where id='fiu';
    +-----+------+-------------------------------------------------------------+
    | id  | ext  | lib                                                         |
    +-----+------+-------------------------------------------------------------+
    | fiu | PGMR | C'est <a title="OK" href="https://www.aaa.com/sorrypage/">OK</a>! |
    +-----+------+-------------------------------------------------------------+
    1 row in set (0.00 sec)
    
    mysql>

    Donc ta requête est on ne peut plus valable. Reste maintenant à fouiller du côté de ton langage hôte (php ?) pour voir s'il ne triture pas ta requête avant de l'envoyer vers le moteur de données.
    0