我在注册系统上工作,我想检查用户的用户名,如果它在输入时已经存在于数据库中,那么对于他在输入字段中输入的每个字母,我想对数据库进行查询。
目前我有这个: 在 app.js 上我有这部分代码:
var mysql=require('mysql');
var connection=mysql.createConnection({
host:'localhost',
user:'user',
password:'password',
database:'random_name'
});
connection.connect();
app.use(function(req,res,next){
req.connection = connection;
next();
});
module.exports = app;
到目前为止,我理解这一点:每当用户请求页面时,我们都会连接到服务器。但是我们打开一个新的连接还是使用与以前相同的连接?
然后在html页面上,每次用户在输入字段中输入内容时,我都会向index.js发送请求,并在index.js上执行以下操作:
var express = require('express');
var router = express.Router();
router.get('/', function(req, res) {
var val=req.query.parameter;
var query=req.connection.query("select * from registeredusers where username="+req.connection.escape(val),function(err,result){
console.log(query.sql);
});
我在查询数据库时是否使用相同的连接,或者每当用户在输入字段中输入内容时建立新连接?
编辑:连接没有持续,我遵循Mjh的建议,所以这个问题的解决方案是使用池连接。如果你想了解更多信息,请查看此链接: When use poolConnection or CreateConnection felixge/node-mysql