【发布时间】:2016-08-08 11:39:27
【问题描述】:
我想从 MySQL 数据库中获取数据,我使用 Node.js 和 SQL,这是我的服务器代码:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var mysql = require('mysql');
var connection = mysql.createConnection({
host : '127.0.0.1',
user : 'root',
password : '',
database : 'temp'
});
function getData(res){
var tempVal = 1377;
connection.connect();
connection.query('SELECT * FROM tempvalues ORDER BY datetime DESC LIMIT 1', function(err, rows){
console.log(rows);
tempVal = rows;
});
connection.end();
return tempVal;
}
app.get('/', function(req, res){
res.sendfile('index.html');
});
io.on('connection', function(socket){
socket.on('clientSent', function(data){
if(data == "GET")
socket.emit("serverSent", getData());
})
})
http.listen(3000, function(){
console.log('listening on *:3000');
});
如果我转到localhost:3000,我只会得到1377 作为值,而不是数据库中的实际值,即使控制台打印了正确的值。这是为什么呢?
【问题讨论】:
标签: mysql sql node.js socket.io