如何在 mysql 中保存 markdown 文本
我想自己搭建一个博客系统,使用 markdown 来写博客,就像思否的编辑器。
我的存储思路是同时保存我的 markdown 源文本和html,html用于在前端显示,源文本用来在更新博客时调取接口使用。
在保存进数据库的时候我遇到了一个问题---- markdown 源文本在 sql 语句中报错
Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'T', ' ')}
time() // "2020-05-09 18:25:54"
我知道是反引号和单引号的问题,但是不知道该如何解决,google了半天没有找到解决方案
我的接口参数
后台 node 接口
存储进 mysql 的语句
请教各位!!!
我是不是应该使用某个库来转义,或者使用另一种 sql 语句
回答
是的,最常见的你可以用ORM库来操作数据库(比如 sequelize),这样不仅避免了手写 SQL 语句的繁琐,还可以忽略掉转义和注入的安全风险。
当然如果你要手写 SQL,也可以用诸如 mysql2 这类库里自带的占位符 ?
来处理插入语句。
mysql.query('INSERT INTO blogs SET ?', { title: xss(postData.title),
content: xss(postData.content),
html: xss(postData.html),
author: postData.author,
createtime: Date.now()
});
具体的使用看文档吧,另外下次提问的时候请尽量不要直接截图代码,而是把代码贴出来。这样方便回答者在调试的时候直接复制你的代码,而不是照着图片一个字一个字的去敲。
你这么直接拼 SQL 不怕注入么……
参数化啊。
以上是 如何在 mysql 中保存 markdown 文本 的全部内容, 来源链接: utcz.com/a/79956.html