ruby-pg在插入之前清理数据

Dif*_*ffy 6 ruby postgresql pg

Ruby新手在这里.我正在尝试插入这个字符串"Lady Arabella's Scandalo ......"我正在使用ruby-pg来做到这一点.但是由于单引号我有错误,我如何清理这个字符串并删除所有的html标签?这有内置功能吗?

mu *_*ort 20

您可以使用escape_string以正确地转义单引号:

db = PG.connect(...)
db.exec("insert into t (...) values ('#{db.escape_string(str)}', ...)")
Run Code Online (Sandbox Code Playgroud)

或使用prepare并使用exec_prepared准备好的声明:

db.prepare('ins', 'insert into t (...) values ($1, ...)')
db.exec_prepared('ins', [str, ...])
Run Code Online (Sandbox Code Playgroud)

  • @IslamAzab`escape_string`只是从PostgreSQL C库调用`PQescapeStringConn`,所以如果它没有逃避反斜杠那么它就不需要了.或者我错过了什么? (2认同)