node.js mysql 查询无法 运行 由于数字周围的引号
node.js mysql query cannot run due to quotes around digit
我在 node.js mysql 中编写了这个 mysql 查询,并重新确定要在 HTTP GET 中执行。
https://github.com/felixge/node-mysql
var api_get_func = function (app, url_path) {
function respond(req, res, next) {
var id= req.query.id;
var limit = req.query.limit;
var query_str =
"SELECT table.sw_type, " +
"FROM users " +
"WHERE (id = ?) " +
"LIMIT ?"; //limit
var var_arr = [id, limit];
var query = connection.query(query_str, var_arr, function (err, rows, fields) {}
//SQL query ...
return next();
}
app.get(url_path, respond);
}
HTTP GET URL 是 http://127.0.0.1/read_sw?id=51&limit=1
报告的错误是查询格式不正确。实际查询如下所示;
SELECT table.sw_type,
FROM users
WHERE (id = 51)
LIMIT '1'
我认为问题是LIMIT '1'
。我认为解决方案是使查询看起来像这样;
SELECT table.sw_type,
FROM users
WHERE (id = 51)
LIMIT 1
如何修改node.js代码?
这不是关于 mysql...
req.query 中的任何内容都是字符串:
怎么样
var var_arr = [id, parseInt(limit)];
您也可以使用
var limit = Number(req.query.limit);
我在 node.js mysql 中编写了这个 mysql 查询,并重新确定要在 HTTP GET 中执行。 https://github.com/felixge/node-mysql
var api_get_func = function (app, url_path) {
function respond(req, res, next) {
var id= req.query.id;
var limit = req.query.limit;
var query_str =
"SELECT table.sw_type, " +
"FROM users " +
"WHERE (id = ?) " +
"LIMIT ?"; //limit
var var_arr = [id, limit];
var query = connection.query(query_str, var_arr, function (err, rows, fields) {}
//SQL query ...
return next();
}
app.get(url_path, respond);
}
HTTP GET URL 是 http://127.0.0.1/read_sw?id=51&limit=1
报告的错误是查询格式不正确。实际查询如下所示;
SELECT table.sw_type,
FROM users
WHERE (id = 51)
LIMIT '1'
我认为问题是LIMIT '1'
。我认为解决方案是使查询看起来像这样;
SELECT table.sw_type,
FROM users
WHERE (id = 51)
LIMIT 1
如何修改node.js代码?
这不是关于 mysql...
req.query 中的任何内容都是字符串:
怎么样
var var_arr = [id, parseInt(limit)];
您也可以使用
var limit = Number(req.query.limit);