entfernen / ausblenden Hinzugefügt Schrägstriche von MySQL-Daten
Habe ich über tausend Einträge enthalten alle backslashes in der gesamten Eintrag. Gibt es eine einfache Möglichkeit oder ein Skript, das löschen eines bestimmten Zeichens aus jeder Eintrag?
- die server-side-Sprache php ?
- ja, es ist mit php
- versucht stripslashes($yourvalue), wo Sie die Anzeige der Werte aus der Datenbank ?
- werden Sie eigentlich zu wollen, entfernen Sie die Schrägstriche aus der Datenbank, oder ändern Sie einfach wie Sie sind angezeigt?
- das es funktioniert ? ok, jetzt mit stipslashes ?
- es ist, genau zu Lesen, in all die Einträge und aktualisieren, die mit der Zeichenfolge nach stripslashes()
- bekommen, was Sie sagen wollen. können wir diskutieren, über chat ?
- das ist in Ordnung. einfach gesagt, es funktioniert und die Datenbank so aussieht, wie es muss
- ok, dann bin ich es in meiner Antwort.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ersetzen sollte, die Ihre Arbeit tun.
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace
Sollte diese Arbeit. Es wird die Spalte aktualisieren ersetzen
\
mit der leeren Zeichenfolge. Ich kann mich nicht erinnern, wenn Sie haben zu entkommen der\
mit\\
oder nur\
. Überprüfen Sie vor dem ausführen der Abfrage, die mitSELECT col, REPLACE(col,'\\','') FROM table_name
und sehen, ob das Ergebnis ist das, was Sie erwarten.Werden könnten backslashes Hinzugefügt, in der Datenbank zu entziehen Anführungszeichen durch
magic_quotes
auf . Sie sollten nicht entfernen Sie Sie von dort.Sollten Sie verwenden stripslashes($yourvalue) PHP-Funktion, wo Sie die Anzeige Werte aus der Datenbank auf Ihre Seite.
Habe ich nicht genug Ruf zu kommentieren @Enrico die Lösung (und ja, ich weiß, das ist ein zwei-Jahr-alte Frage, aber es ist hoch in der Google-Ergebnisse), aber ich kann bestätigen, dass seine Abfrage funktioniert. Darüber hinaus können Sie eine
where
Klausel zu begrenzen, um nur diejenigen Ergebnisse, die tatsächlich enthalten Sie einen umgekehrten Schrägstrich (nützlich für die überprüfung vor der Ausführung).Check:
Ausführen:
Den
escape
- Klausel wird verwendet, um das escape-Zeichen in derlike
- Klausel (nicht aber dieREPLACE()
- Funktion). Da arbeiten wir mit backslashes, ändern wir das escape-Zeichen, um sicherzustellen, dass wir bekommen, was wir wollen.Beachten Sie auch, dass müssen Sie möglicherweise
set SQL_SAFE_UPDATES=0
ersten, in Abhängigkeit von Ihrer Umgebung.In Ihrem controller, den Sie hinzufügen können :
Wird diese escape-slashes beim display.
Wenn Sie möchten, entfernen Sie Schrägstriche, während die insertion zur DB, die Sie verwenden können:
Wenn Sie nur wollen, entfernen Sie die Schrägstriche von aktuellen Daten, die Sie ma machen :