保存数据时出现Node-Mysql错误

时间:2015-11-10 03:21:48

标签: mysql node.js

我正在使用mysql研究nodejs,我正在关注这个例子: https://codeforgeek.com/2015/03/real-time-app-socket-io/

但是当我运行代码并尝试添加新数据时,我遇到了这些错误:

var app     = require('express')();
var mysql   = require('mysql');
var http    = require('http').Server(app);
var io      = require('socket.io')(http);

/** mysql pool connection **/
var pool = mysql.createPool({
    connectionLimit :   100,
    host            :   'localhost',
    user            :   'root',
    password        :   '',
    database        :   'fbstatus',
    debug           :   false
});

app.get('/', function(req, res){
    res.sendFile(__dirname + '/index.html');
});

/** this will run automatically if server received a connection **/
io.on('connection', function(socket){
    console.log('A user is connected!');
    socket.on('status added', function(status){
        add_status(status, function(res){
            if(res) {
                io.emit('refresh feed', status);
            } else {
                io.emit('error');
            }
        });
    });
});

var add_status = function(status, callback) {
    pool.getConnection(function(err, connection){
        if(err) {
            connection.release();
            callback(false);
            return;
        }
        connection.query("INSERT INTO fb_status VALUES('" + status + "')", function(err, rows){
            connection.release();
            if(!err) {
                callback(true);
            }
        });
        connection.on('error', function(err){
            callback(false);
            return;
        });
    });
}

http.listen(3000, function(){
    console.log("Listening on 3000");
});

这是我在server.js

中的代码
IVMRMonitorConfig

我不知道我的代码有什么问题。你能救我吗?

1 个答案:

答案 0 :(得分:0)

    if(err) {
        connection.release();
        callback(false);
        return;
    }

这里,如果错误,你将无法建立连接。