{MySQL} Aide sur requête REPLACE
Résolu
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 !!
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
-
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. -
Non, je viens de tenter en modifiant la requête " par \", et toujours erreur...
-
ContributeurBonjour,
Possiblement les guillemets double dans la code HTML. Essaye de les précéder d'un antislash \.