【问题标题】:How to escape it properly?如何正确逃脱?
【发布时间】:2020-12-08 15:02:48
【问题描述】:

我有使用模板字符串语法编写的 sql 字符串:

const sql = `select * from tbl_name where smth=$1 name like '%$2%'`;

const data = await execute(sql, [something, someName]);

我在绑定第二个参数时遇到问题 - $2 因为单引号。应该怎么写?

错误:Error: Query failed: bind message supplies 2 parameters, but prepared statement "" requires 1

【问题讨论】:

  • 单引号不需要在反引号字符串中转义。您看到的错误是什么?
  • 在问题中添加了错误信息

标签: javascript sql string escaping


【解决方案1】:

我认为你应该这样使用通配符:

const sql = `select * from tbl_name where smth=$1 name like $2`;
const data = await execute(sql, [something, `%${someName}%`]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-31
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多