Ruby Neuling hier. Ich versuche diese Zeichenfolge einzufügen "Lady Arabella's Scandalo ..." Ich benutze ruby-pg um dies zu tun. Allerdings habe ich wegen des einfachen Zitats Fehler, wie kann ich diese Zeichenfolge bereinigen und alle HTML-Tags entfernen? Gibt es dafür eine eingebaute Funktion?ruby-pg Daten vor dem Einfügen bereinigen
6
A
Antwort
20
können Sie escape_string
verwenden, um richtig die einfachen Anführungszeichen zu entkommen:
db = PG.connect(...)
db.exec("insert into t (...) values ('#{db.escape_string(str)}', ...)")
oder prepare
verwenden und exec_prepared
mit einer vorbereiteten Erklärung zur Arbeit statt:
db.prepare('ins', 'insert into t (...) values ($1, ...)')
db.exec_prepared('ins', [str, ...])
Dank. Ich google und bin hier angekommen. Verwenden von 'connection.escape_string'. – huy
@huy Headsup, 'connection.escape_string' wird nicht einem Backslash am Ende Ihres Feldes entkommen. –
@IslamAzab 'escape_string' ruft nur' PQescapeStringConn' aus der PostgreSQL C-Bibliothek auf, wenn es also keinen Backslash hat, muss es nicht. Oder fehlt mir etwas? –