第二个请求的节点mysql连接错误
node-mysql connection error for 2nd request
当我运行类似的server.js时
...
var app = require('express')(), mysql = require('mysql');
var mysqlConn = mysql.createConnection(connParam);
var controllers = {mysql: require('./controller/mysql.js')(app, mysqlConn, null)};
...
和控制器/mysql.js
...
module.exports = function (app, conn, data) {
...
app.get('/mysql', mysqlController);
function mysqlController (req, res, next) {
console.log('reached mysqlController');
conn.connect(function (err) {
if (!err) {
console.log('mysql connection established');
}
else {
console.log('mysql connection ERROR');
}
});
conn.query('select * from users', function (err, sqlRes) {
if (!err) {
console.log(''tdb query success from conn');
app.render('mysql/index.jade', {title: 'App | MySql:index', result: sqlRes},
function (err, html) {
console.log(''trendering mysql/index');
res.send(html);
conn.end(function (err) {
console.log('mysql connection closed');
});
});
}
else {
console.log(''tError processing query from db');
res.send("ERROR 505");
}
});
}
对于第一次请求,我得到了预期的结果,但第二次,它没有连接。。。
:~/workspace/noder$ node server.js
Server listening to port: 8080
reached mysqlController
mysql connection established
db query success from conn
rendering mysql/index
mysql connection closed
reached mysqlController
mysql connection ERROR
Error processing query from db
有人能帮帮我吗
这是因为您在已连接的连接上调用connect()
。。尝试在controller/mysql函数本身中调用connect()
,而不是在app.get()
中调用。这样connect()
将只被调用一次。。
此外,如果它不能修复它,请在错误的控制台日志中打印错误以及console.log('mysql error', err);
相关文章:
- JavaScript和Java WebSocket SSL连接错误
- 模拟连接错误
- 在javascript中调用seam远程函数时处理连接错误
- 解决节点中的“本地主机意外关闭连接”错误
- '套接字连接错误'在Aptana 3上调试PHP/JS时
- 异常:“远程主机关闭了连接.错误代码为 0x80070057”
- Javascript 字符串连接错误
- Esri 和 Python 之间的连接错误
- Mirth 连接错误:“..不是 XML 对象“时尝试从数组输出文本
- SoundCloud Javascript API SC.连接错误
- 如何修复长轮询未完成连接错误
- Firebase - 处理最大并发连接错误数(免费方案)
- 第二个请求的节点mysql连接错误
- 处理同步XHR连接错误
- MongoDB与NodeJS连接错误
- 处理连接错误事件
- 序列化连接错误
- 如何修复此“拖放区已连接”错误
- Firefox 3.6上的JavaScript字符串连接错误
- 如何调试节点+ mongo连接错误