R3u*_*3uK 3 javascript mysql node.js express
我正在使用npm mysql 包,使用以下命令创建到我的mysql数据库的连接池dbHandler.js:
var mysql = require("mysql");
var pool = mysql.createPool({
connectionLimit : 10,
host: "path.to.host",
user: "username",
password: "password",
database: "dbname",
debug: false
});
exports.pool = pool;
Run Code Online (Sandbox Code Playgroud)
然后我在里面调用它routesHandler.js来处理我的 SQL 请求:
var mysql = require("mysql");
var pool = require("./dbHandler");
exports.login = function(req, res) {
var email = req.body.email;
pool.query('SELECT * FROM users WHERE users.email = ?', [email], function(
error,
results,
fields
) {
if (error) {
res.send({
code: 400,
failed: "Error ocurred"
});
} else {
if (results.length > 0) {
//Mail authorized
res.send({
code: 200,
success: "Sucessfull login"
});
} else {
//Mail unauthorized
res.send({
code: 403,
failed: "Unauthorized mail"
});
}
}
});
};
Run Code Online (Sandbox Code Playgroud)
我不确定这是最好的方法,但我似乎找不到合适的例子......:/
我很乐意:)接受有关处理整个问题的任何建议或链接:
但是我收到了基本的错误消息,但我不知道如何摆脱它:
类型错误:pool.query 不是函数
欢迎任何指点!
你这样做exports.pool = pool;,所以你必须像这样调用池属性var pool = require("./dbHandler");。
如果您module.exports=pool在您dbHandler的代码中使用,那么您的代码将按原样工作。
如果不只是使用我的答案:
var pool = require("./dbHandler").pool;
exports.login = function(req, res) {
var email = req.body.email;
pool.query('SELECT * FROM users WHERE users.email = ?', [email], function(
error,
results,
fields
) {
if (error) {
res.send({
code: 400,
failed: "Error ocurred"
});
} else {
if (results.length > 0) {
//Mail authorized
res.send({
code: 200,
success: "Sucessfull login"
});
} else {
//Mail unauthorized
res.send({
code: 403,
failed: "Unauthorized mail"
});
}
}
});
};Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7457 次 |
| 最近记录: |