mysql 存markdown文章_如何在 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了半天没有找到解决方案

我的接口参数

4fb8c527aafe67bac6a872adacb2613f.png

后台 node 接口

dd7e7a468c456e71f34c23a3dd9ae29b.png

存储进 mysql 的语句

6483d63e9ea29d36af2d78ecf75c0c1f.png

请教各位!!!

我是不是应该使用某个库来转义,或者使用另一种 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 不怕注入么……

参数化啊。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值