Избегайте одинарных кавычек в запросе Postgres внутри приложения js node
Вот строка из моего кода узла js:
var qry = 'INSERT INTO "sma"."RMD"("UserId","Favourite") VALUES (' + req.body.user + ',' + JSON.stringify(req.body.favourite) + ')'
Я хочу вставить одинарные кавычки, прежде чем JSON.stringify(req.body.favourite)
, Но я не могу избежать одинарных кавычек. Я не могу отладить проблему, так как загружаю код на облачный сервер predix. Есть идеи, как этого добиться?
2 ответа
Решение
Почему вы не используете готовые заявления?
var qry = 'INSERT INTO "sma"."RMD"("UserId","Favourite") VALUES ($1, $2)';
client.query(qry, [ req.body.user, JSON.stringify(req.body.favourite])'
Вы также можете использовать шаблоны литералов для построения вашего запроса
Шаблонные литералы, которые используют символ обратной галочки. Проверьте основной ответ здесь
alert(`Use "double" and 'single' quotes in the same string`);
alert(`The escape the \` back-tick character in a string`);
Шаблонные литералы предлагают чистый синтаксис для: интерполяции переменных, многострочных строк и многого другого.