2010-04-01 6 views
2

J'ai actuellement l'instruction MySQL suivante pour remplacer l'entité HTML pour un guillemet simple avec une seule citation réelle:Nécessité de remplacer une seule entité guillemet HTML dans MySQL

update photo_galleries replace(title, ''', '\''); 

Cette déclaration renvoie une erreur. J'ai essayé d'ajouter des barres obliques inverses supplémentaires, mais cela n'aide pas du tout. Je veux exécuter cette commande en utilisant du SQL pur (pas de PHP, etc.). Toutes les suggestions sont les bienvenues et appréciées. Merci.

Répondre

2

Ce n'est pas une requête SQL valide, vous recherchez probablement:

UPDATE photo_galleries 
SET title = REPLACE(title, ''', '\''); 
+0

qui est exactement ce que je voulais dire - je accidentellement exciser la partie manquante. Oups - et merci! – modulaaron

+0

@modulaaron: Vous voulez dire que cela renvoie toujours une erreur? –

+0

Non, ça marche très bien. J'avais précédemment involontairement enlevé le "SET title =" de la déclaration et n'ai pas remarqué. – modulaaron

2

Votre déclaration UPDATE est invalide. Vous pouvez essayer:

UPDATE photo_galleries SET title = REPLACE(title, ''', '\''); 

La fonction REPLACE() fonctionne correctement:

SELECT REPLACE('hello='test'', ''', '\'') AS output; 
+--------------+ 
| output  | 
+--------------+ 
| hello='test' | 
+--------------+ 
1 row in set (0.00 sec) 
+0

Problème déjà résolu mais bon à savoir - merci. – modulaaron