初学node,用express写了一个测试脚本想连接数据库查询数据。代码如下:
var express = require('express');
var app = express();
app.get('/hello', function (req, res) {
var mysql = require('mysql');
var connection = mysql.createConnection({
host : '121.42.209.162',
user : 'root',
password : '这里是密码',
database : 'hgb'
});
var obj;
var isok='failed';
connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
console.log('connected as id ' + connection.threadId);
});
connection.query('SELECT * FROM `538`', function(err, rows) {
if(err){
console.log(err.code); // 'ECONNREFUSED'
console.log(err.fatal); // true
}
isok='ok';
});
connection.end();
res.send(isok);
});
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
但是浏览器打开http://localhost:3000/hello
后,显示的是
同时,xshell里面看到的日志是这样的:
说明数据库连接是成功的?!
可是按理说查询成功的话会执行回调函数也就是说isok会变成'ok'啊。。。
求好心人解答,谢谢。。