实际上,我正在尝试使用nodejs和mysql创建登录API。
当我尝试进行
这样的查询时"SELECT *
FROM `users`
WHERE (`email` = '9592443536' || `mobile` = '9592443536')
AND `password` = '25f9e794323b453885f5181f1b624d0b'",
以上查询可在phpMyAdmin中完美运行,但不能使用Node.js运行。
我的代码在下面。
let query = [email,email,password];
//let q = 'SELECT * FROM `users` WHERE (`email` = ' + email + ' || `mobile` = ' + email + ') AND `password` =' + password;
connection.query("SELECT * FROM users WHERE (`email` = ? || `mobile` = ?) AND `password` = ?", query ,function (error, results, fields) {
if (error) throw error;
if(results.length == '0'){
res.status(400).send({'result':'email and password does not matched'});
}
});
GOT ERROR =
错误:ER_PARSE_ERROR:您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以获取在'?'附近使用的正确语法。在第1行 在Query.Sequence._packetToError(/ var / www / html / office / node / node_modules / mysql / lib / pro tocol / sequences / Sequences / Sequence.js:52:14)
当我对执行的查询进行控制台时,我与上面的内容相同
"SELECT *
FROM `users`
WHERE (`email` = '9592443536' || `mobile` = '9592443536')
AND `password` = '25f9e794323b453885f5181f1b624d0b'",
数据库屏幕截图-Screenshot
请提前帮助谢谢。