Мне нужно выполнить следующий запрос:
db.query("SELECT * FROM items WHERE name ILIKE '%$1%';", [ query ])
Кажется, что node-postgres не заменяет параметр $1
, и я не знаю почему. Мой запрос работает, если я изменяю строку на:
db.query(`SELECT * FROM items WHERE name ILIKE '%${query}%';`)
Но теперь у меня возникают проблемы, когда запрос содержит одинарные кавычки ('
).
Должен ли я заменить все одинарные кавычки с помощью регулярных выражений(как в query.replace(/'/g, "''")
) (я не думаю, что это рекомендуется)?
В противном случае, как я могу заставить узел-postgres принять мой параметр? Я думаю, что это как-то связано с инкапсулирующими символами %
. Я продолжаю сталкиваться с той же проблемой с этой проблемой.