suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - MySQL-Abfrageausnahme tritt in node.js auf, wie gehe ich damit um?

Basierend auf dem Express-Framework muss das Node-MySQL-Modulentwicklungsprojekt SQL-Anweisungen im Projekt ausführen. Wenn die SQL-Anweisung abnormal ist, stürzt das Programm direkt ab.

conn.query(sql,function (err, result) {}
如果这里的事情了因为前端提交方式的原因(或者是别人的非法提交),sql语句变为了
SELECT * FROM prod WHERE prodName LIKE'%undefined%' LIMIT NaN,10; 
这样的话,node控制台会抛出:throw err; // Rethrow non-MySQL errors
node就崩溃了,请问有什么好的方式处理sql异常?
某草草某草草2800 Tage vor796

Antworte allen(2)Ich werde antworten

  • 我想大声告诉你

    我想大声告诉你2017-05-16 13:37:53

    把你的sql处理下,将不合法的值设为默认值

    Antwort
    0
  • 某草草

    某草草2017-05-16 13:37:53

    启动文件最后加上这个处理试试看
    app.js

    app.use(function (err, req, res, next) {
        res.status(err.status || 500);
        res.render('error', {
            message: err.message,
            error: {}
        });
    });

    那你需要查看一下mysql connector的api一般肯定有异常处理机制。
    我用的mongoose。在声明连接的时候加上异常处理。

    mongoose.connection.on('error', function (err) {
        console.error('Mongoose connection error: ' + err);
    });

    Antwort
    0
  • StornierenAntwort