V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
DecadentF
V2EX  ›  问与答

node 操作 MySQL 存入 markdown 文本单双引号问题

  •  
  •   DecadentF · 2019-11-05 12:36:30 +08:00 · 876 次点击
    这是一个创建于 1605 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这是我用 node 写的 MySQL 语句,其中 blog_text 是 markdown 语句,语句包含双引号时我按照其他人说的进行了转义,但是还是一直报错,而且转义好像没有生效。

    let _sql = `INSERT INTO blog_info (user_id, blog_title, blog_text, blog_sort, blog_tag, is_public, blog_status, blog_type, publish_time) VALUES (${values.userId}, "${values.blogTitle}", "${values.blogText.replace(/"/g,"\"").replace(/`/g,"\`")}", "${values.blogSort}", "${values.blogTag}", ${values.isPublic}, "${values.blogStatus}", "${values.blogType}", ${values.publishTime ? values.publishTime : null});`;
    

    这是最后生成的实际语句,markdown 中的双引号和数据最外面的双引号配对了,就造成错误了,想问一下大家这种情况要怎么处理

    INSERT INTO blog_info (user_id, blog_title, blog_text, blog_sort, blog_tag, is_public, blog_status, blog_type, publish_time) VALUES (100000000000000, "测试发布", "↵# Markdown 语法帮助文档↵↵↵***↵# 一、标题↵### 用法:↵> 使用"#"加上标题,"#"与标题之间留有空格↵### 例子:↵``` markdown↵# 一级标题↵## 二级标题↵### 三级标题↵#### 四级标题↵##### 五级标题↵###### 六级标题↵```↵### 效果:↵# 一级标题↵## 二级标题↵### 三级标题↵#### 四级标题↵##### 五级标题↵###### 六级标题↵↵↵***↵# 二、分割线↵### 用法:↵> 一行中使用三个或三个以上的"*"或"-"或"_"↵### 例子:↵``` markdown↵***↵---↵___↵```↵### 效果:↵***↵---↵___↵↵↵***↵# 三、斜体文本↵### 用法:↵> 文本两端加上"*"↵### 例子:↵``` markdown↵*斜体*↵```↵### 效果:↵*斜体*↵↵↵***↵# 四、文本加粗↵### 用法:↵> 文本两端加上"**"↵### 例子:↵``` markdown↵**粗体**↵```↵### 效果:↵**粗体**↵↵↵***↵# 五、斜体文本加粗↵### 用法:↵> 文本两端加上"***"↵### 例子:↵``` markdown↵***斜体文本加粗***↵```↵### 效果:↵***斜体文本加粗***↵↵↵***↵# 六、文本添加删除线↵### 用法:↵> 文本两端加上"~~"↵### 例子:↵``` markdown↵~~文本添加删除线~~↵```↵### 效果:↵~~文本添加删除线~~↵↵↵***↵# 七、文本添加下划线↵### 用法:↵> 通过 HTML 的`<u>`标签实现↵### 例子:↵``` markdown↵<u>文本添加下划线</u>↵```↵### 效果:↵<u>文本添加下划线</u>↵↵↵***↵# 八、标注↵### 用法:↵> 格式: 文本两端加上"=="↵### 例子:↵``` markdown↵==要注明的文本==↵```↵### 效果:↵==要注明的文本==↵↵↵***↵# 九、无序列表↵### 用法:↵> 格式: 无序列表使用"*"或"+"或"-"作为列表标记,符号和文字之间留有空格↵### 例子:↵``` markdown↵* 星号↵- 减号↵+ 加号↵```↵### 效果:↵* 星号↵- 减号↵+ 加号↵↵↵***↵# 十、有序列表↵### 用法:↵> 格式: 有序列表使用数字加上"."来标记,符号和文字之间留有空格,前面的数字跟序号无关。↵### 例子:↵``` markdown↵1. 第一项↵2. 第二项↵2. 第三项↵```↵### 效果:↵1. 第一项↵2. 第二项↵2. 第三项↵↵↵***↵# 十一、任务列表↵### 用法:↵> 格式: "-" + 空格 + "[ ]" + 空格 + 文字 表示未做任务,其中"[ ]"中间有空格;"-" + 空格 + "[X]" + 空格 + 文字  表示已做任务↵### 例子:↵``` markdown↵- [x] 已做任务↵- [ ] 未做任务↵- [ ] 未做任务↵```↵### 效果:↵- [x] 已做任务↵- [ ] 未做任务↵- [ ] 未做任务↵↵↵***↵# 十二、区块↵### 用法:↵> 格式: 段落开头使用">",后面紧跟一个空格↵### 例子:↵``` markdown↵> 这是一个区块↵```↵### 效果:↵> 这是一个区块↵↵↵***↵# 十三、代码块↵### 用法:↵> 使用"```"包裹一段代码,并指定一种代码语言(也可以不指定)↵### 例子:↵``` markdown↵请直接查看左侧写法↵```↵### 效果:↵``` js↵const a = 1;↵const b = 2;↵const c = a + b;↵```↵↵↵***↵# 十四、链接↵### 用法:↵> ` [链接名称](链接地址) `↵### 例子:↵``` markdown↵[百度](www.baidu.com)↵```↵### 效果:↵[百度](www.baidu.com)↵↵↵***↵# 十五、图片的展示↵### 用法:↵> ` ![图片属性标题](图片地址 "图片描述") `↵### 例子:↵``` markdown↵![small.jpg]( https://i.loli.net/2019/09/30/fkPs9Sy34Th8gB6.jpg "图片描述")↵```↵### 效果:↵![small.jpg]( https://i.loli.net/2019/09/30/fkPs9Sy34Th8gB6.jpg "图片描述")↵↵↵↵***↵# 十六、表格↵### 用法:↵> 使用'|'来分割表单,'-'来分割表头和表单, 符号与数据之间留有空格。其中':-:'表示文本居中,':-'表示文本左对齐,'-:'表示文本右对齐。↵### 例子:↵``` markdown↵|    表头   |    表头  |    表头    |↵| :------- | :------: | ---------: |↵| 文本左对齐 | 文本居中 | 文本右对齐 |↵| 文本左对齐 | 文本居中 | 文本右对齐 |↵| 文本左对齐 | 文本居中 | 文本右对齐 |↵```↵### 效果:↵|    表头   |    表头  |    表头    |↵| :------- | :------: | ---------: |↵| 文本左对齐 | 文本居中 | 文本右对齐 |↵| 文本左对齐 | 文本居中 | 文本右对齐 |↵| 文本左对齐 | 文本居中 | 文本右对齐 |↵ ↵↵↵***↵# 十七、emoji↵### 用法:↵> 直接使用即可↵### 例子:↵😋↵### 效果:↵😋↵", "1000000013", "1000000002,1000000007,1000000011", false, "BlogPublished", "MARKDOWN", null);
    
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1785 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:33 · PVG 00:33 · LAX 09:33 · JFK 12:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.