Mysql 使 nodejs 服务器崩溃

时间:2021-01-20 21:14:29

标签: mysql node.js ubuntu-20.04

所以当我尝试连接到我的数据库时,我的 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 问题...知道吗?谢谢:)

  • 我在 Ubuntu 20.04 上运行

0 个答案:

没有答案