mysql储存长文本,出现问题
mysql中用longtext存储长文本,当文本超过一定字数就报错(大概2000字左右),出现问题了,这个该如何是好
上传的长文本,html
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接口服务报错
回答:
看起来是因为你的文本里面包含有单引号没有转义导致sql语句报错,不是longtext大小造成的
回答:
你是新学编程吧? 如果是看的视频或教程, 别看了, 换个.
sql语句不允许直接拼字符串.
必须要如下处理
- 使用 prepare 方式调用数据库驱动的query或execute方式.
- 或者 用户输入的数据必须调用 数据库驱动的 escape或quote 进行转义.
你这问题就是sql注入的问题.
sql改成 insert into 表 ( 列1, 列2, 列3 ) values ( ?, ?, ? )
在执行 db.execute的时候 , 按数组, 把缺的参数传进去.
以上是 mysql储存长文本,出现问题 的全部内容, 来源链接: utcz.com/p/937422.html