最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

[将字符串从节点写入mysql db时出现奇怪的转义行为

网站源码admin15浏览0评论

[将字符串从节点写入mysql db时出现奇怪的转义行为

[将字符串从节点写入mysql db时出现奇怪的转义行为

我在节点上,想在我的mysql数据库中写这个:

var x = JSON.stringify(['aa"a']);

console.log(x);

mysqlConnection.query("UPDATE `table` SET field = '" + x + "' WHERE id = 1");

console.log()产生:[“ aa \” a“]

[稍后我从数据库读取字符串时,得到:[“ aa” a“]

缺少反斜杠,使字符串无用,因为调用JSON.parse()会产生错误。

回答如下:

您正在将SQL作为字符串混搭在一起。 \是转义字符(在SQL和JSON中都是如此),因此当传递给SQL引擎时,它会转义"

使用占位符(您正在使用的任何MySQL API库都应有使用它们的方法),而不是将变量手动推入SQL字符串中。

发布评论

评论列表(0)

  1. 暂无评论