所以当我尝试连接到我的数据库时,我的 nodescript 崩溃了...
这是我的代码:
app.get('/login', (req, res) => {
res.setHeader('Content-Type', 'application/json');
const queryObject = JSON.stringify(url.parse(req.url,true).query);
var queryParsed = JSON.parse(queryObject);
$ip = req.ip;
$ip = $ip.replace('::ffff:', '')
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "***",
database: "project"
});
con.connect(function(err) {
var req_search_user = "SELECT * FROM users WHERE username = ? AND password = ?";
con.query(req_search_user, [queryParsed.username, queryParsed.password], function (err, result) {
var resultJson = JSON.stringify(result);
var resultParsed = JSON.parse(resultJson);
if(resultParsed.length != 0){
con.connect(function(err) {
con.query("UPDATE users SET ip = ? WHERE id = ?", [$ip, resultParsed[0].id], function (err, result, fields) {});
});
if(resultParsed[0].date_time_activate == null){
con.connect(function(err) {
con.query("UPDATE users SET date_time_activate = NOW() WHERE id = ?", [resultParsed[0].id], function (err, result, fields) {});
});
}
res.end(JSON.stringify({ "Login": "1" }));
}else{
res.end(JSON.stringify({ "Login": "0" }));
}
});
});
});
当服务器崩溃时,它会在控制台中返回:
SyntaxError: Unexpected token u in JSON at position 0
at JSON.parse (<anonymous>)
at Query.<anonymous> (/var/api/app.js:57:37)
at Query.<anonymous> (/var/api/node_modules/mysql/lib/Connection.js:526:10)
at Query._callback (/var/api/node_modules/mysql/lib/Connection.js:488:16)
at Query.Sequence.end (/var/api/node_modules/mysql/lib/protocol/sequences/Sequence.js:83:24)
at /var/api/node_modules/mysql/lib/protocol/Protocol.js:236:14
at processTicksAndRejections (internal/process/task_queues.js:75:11)
所以当我在本地运行它时,它可以工作,但不能在服务器上运行...所以我猜这是一个 mysql 问题...知道吗?谢谢:)