2015-06-10 4 views
1

Я очень новичок в nodejs. Я использую модуль узла mysql. Вот как я его использую:Завершение обратного вызова в nodejs

var connection = mysql.createConnection({ 
    host: 'localhost', 
    user: 'root', 
    password: '', 
    database: 'sample' 
}); 

connection.connect(function (err) { 
    if (!err) { 
     console.log("Database is connected ... \n\n"); 
    } else { 
     console.log("Error connecting database ... \n\n"); 
    } 
}); 

var post = {PersonID: 1, Name: 'Prachi', City: 'Blore'}; 
var query = connection.query('INSERT INTO Persons SET ?', post, function(error, result) { 
    if (error) { 
     console.log(error.message); 
    } else { 
     console.log('success'); 
    } 
}); 
console.log(query.sql); 

Этот код узла работает функционально. Как и в, он добавляет данные в таблицу. Но это не заканчивается. Какую ошибку я делаю?

ответ

2

Присмотритесь на официальной документации, вы должны закрыть соединение:

var mysql  = require('mysql'); 
var connection = mysql.createConnection({ 
    host  : 'localhost', 
    user  : 'me', 
    password : 'secret' 
}); 

connection.connect(); 

connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) { 
    if (err) throw err; 

    console.log('The solution is: ', rows[0].solution); 
}); 

connection.end(); 
2

Использование connection.end(), чтобы закрыть соединение

var query = connection.query('INSERT INTO Persons SET ?', post, function(error, result) { 
    connection.end(); 
    if (error) { 
     console.log(error.message); 
    } else { 
     console.log('success'); 
    } 
}); 
Смежные вопросы