我想在数据库中保存用户,并创建他的密码的散列,并将其保存为密码,但我所有这样做的尝试导致rangeerror:超过了最大调用堆栈大小
这是用户代码
import db from "./db";
import bcrypt from "bcryptjs";
class User {
constructor(name, surname, login, pass) {
var user = new User();
user.name = name;
user.surname = surname;
user.login = login;
user.pass =pass;
}
save(cb){
let sql = "INSERT INTO users(name, surname, login, hash) VALUE ?";
let values = [[this.name, this.surname, this.login, this.hash]];
this.hashPass((result)=>{
db.query(sql, [values], cb);
});
};
hashPass(pass, cb){
bcrypt.genSalt(8,(err, salt) => {
if (err) throw err;
bcrypt.hash(pass, salt, (result)=>{
cb(result);
});
});
}
varification(login, password, cb) {
bcrypt.compare(pass, hash, (err, result) => {
cb(result);
});
}
}
export default User;
这里是一个尝试保存用户的地方
router.post('/regist', (req, res)=> {
let entryData = req.body;
let newUser = new User(entryData.name, entryData.surname, entryData.login, entryData.password);
newUser.save((err, result)=> {
if (err) {
console.log(err);
}
res.json(result);
});
});
我怎么处理呢?
发生RangeError
是因为在User
构造函数内部递归调用了User
构造函数。尝试删除递归调用:
constructor(name, surname, login, pass) {
user.name = name;
user.surname = surname;
user.login = login;
user.pass =pass;
}
我正在尝试使用Unity读取MySQL服务器上的数据库。 我在Unity中的字符串连接是: 当我尝试连接时,会发现错误: 拒绝访问用户“PLAYER”@“*******************”(使用密码:是) 在MySQL服务器中,我将所有特权授予“玩家”,授予任何IP地址。如您所见,它在本地主机上工作: 当然,我要评论一下盲信地址: 它拒绝访问。为什么会这样?
问题内容: 我的服务器时间是格林尼治标准时间(GMT),每当有人在线时,我都会执行以下操作。 所以,我的问题是……每当有人执行某项操作时,它都会将日期/时间存储在用户本地时间中……这给我带来了很多麻烦。 我想要的是将所有内容存储在GMT中,但要让用户在其本地时区查看数据并与之交互。 编辑: 这是我更新用户状态的方法: 这是我将日期戳转换为秒的功能。 最后,我如何比较日期: 问题答案: 这里的技巧是
问题内容: 您应该在这里看到我正在尝试执行的操作,但是它不起作用 返回:“不正确地使用ORDER BY和UNION”。 问题答案: 尝试: 或查阅精美的手册。
问题内容: SQL … 如您所见,它占用了文章的所有页面(每个页面均以长文本形式存储在单独的行中),并通过GROUP_CONCAT将它们分成单个长文本行。问题在于结果只有太多的字符,然后它被完全截断,丢失了大约90%的内容。CONCAT是否不能很好地处理长文本,还是我做错了其他事情? 问题答案: 根据MySQL手册,最大长度由系统变量定义,默认为1024。 可以使用以下命令来增加此值: 但是,应注
这是我试图制作的表格: 创建表Customer(customer_reference int UNIQUE AUTO_INCREMENT,主键(customer_reference),名字VARCHAR(20),姓氏VARCHAR(20),联系人VARCHAR(15),电子邮件VARCHAR(50),建筑物VARCHAR(5),道路VARCHAR(40),城市VARCHAR(30),邮政编码VAR
问题内容: 我正在尝试使用SQL Server 2008 SSIS将行从Access数据库插入MySQL数据库中。 问题出在定界符上。我正在使用5.1 ODBC驱动程序,并且可以连接到MySql并从ADO.Net目标数据源中选择一个表。在SSIS包编辑器中,所有MySql表均以双引号分隔: 如果表名中有空格,则无法从ADO.NET目标编辑器上的“使用表或视图”文本框中删除双引号或将其替换为其他内容
问题内容: 我正在使用JDBC与MySQL同步,以向MySQL数据库的表添加和定义行。问题是,当我使用类中的方法向表中添加行时,我不知道为什么会抛出一个。请记住,我之前已经尝试过通过方法读取表,并且它成功打印出了单元格值。以下是有关的代码断裂: 这是控制台: [更新] 加入后,在表列的成功添加行的表,现在,我只想知道为什么MySQL不接受请求,从添加新行如果列没有出现在该表? 问题答案: 如果您未
本文向大家介绍PHP和Mysql中转UTF8编码问题汇总,包括了PHP和Mysql中转UTF8编码问题汇总的使用技巧和注意事项,需要的朋友参考一下 一个网站如果需要国际化,就需要将编码从GB2312转成UTF-8,其中有很多的问题需要注意,如果没有转换彻底,将会有很多的编码问题出现! PHP页面转UTF-8编码问题 1.在代码开始出加入一行: header("Content-Type: text/