mysql储存长文本,出现问题

mysql中用longtext存储长文本,当文本超过一定字数就报错(大概2000字左右),出现问题了,这个该如何是好
mysql储存长文本,出现问题
上传的长文本,html
mysql储存长文本,出现问题
node写的sql新增数据

  let {

role,

title,

html,

text,

tag,

pic,

picname,

video,

videoname,

apply,

original,

description,

top,

create_time

} = req.body;

const query = `insert into article(title,tag,pic,video,picname,videoname,apply,original,description,top,html,text,create_time) values('${title}','${tag}','${pic}','${video}','${picname}','${videoname}','${apply}','${original}','${description}','${top}','${html}','${text}','${create_time}')`;

node接口服务报错
mysql储存长文本,出现问题


回答:

看起来是因为你的文本里面包含有单引号没有转义导致sql语句报错,不是longtext大小造成的


回答:

你是新学编程吧? 如果是看的视频或教程, 别看了, 换个.

sql语句不允许直接拼字符串.
必须要如下处理

  1. 使用 prepare 方式调用数据库驱动的query或execute方式.
  2. 或者 用户输入的数据必须调用 数据库驱动的 escape或quote 进行转义.

你这问题就是sql注入的问题.

sql改成 insert into 表 ( 列1, 列2, 列3 ) values ( ?, ?, ? )
在执行 db.execute的时候 , 按数组, 把缺的参数传进去.

以上是 mysql储存长文本,出现问题 的全部内容, 来源链接: utcz.com/p/937422.html

回到顶部