Nodejs API:在 WHERE 语句中使用两个参数进行查询
Posted
技术标签:
【中文标题】Nodejs API:在 WHERE 语句中使用两个参数进行查询【英文标题】:Nodejs API: Query with two parameters in WHERE statement 【发布时间】:2022-01-18 06:19:30 【问题描述】:我正在编写一个反应原生应用程序,并且有一个查询,其中包含 WHERE 语句中的两个参数。问题是,我不知道如何正确路由它。我已经尝试使用一个参数进行路由,并且它可以工作。但是,当我尝试使用两个参数时,它实际上无法从数据库中获取任何数据。
这是我的代码:
路由:
router.route('/users/user=:username').get((request,response) =>
operations.getUsers(request.params.username).then(result =>
response.json(result[0])
)
)
查询:
let pool = await sql.connect(config);
let users = await pool.request()
.input('username', sql.VarChar, user)
.input('password', sql.Char, pass)
.query('SELECT * FROM Users_temp WHERE username = @username');
return users.recordsets;
【问题讨论】:
【参考方案1】:您可以通过像这样更新查询来解决问题
.query('SELECT * FROM Users_temp WHERE username = @username and password = @password');
【讨论】:
难道我也不需要更改这部分“操作.getUsers(request.params.username)”吗?还有,这个“router.route('/users/user=:username')”? 如果您正在运行用户登录检查。您应该使用“POST”方法而不是“GET”方法来执行此操作。使用 POST 方法并通过请求正文读取变量以上是关于Nodejs API:在 WHERE 语句中使用两个参数进行查询的主要内容,如果未能解决你的问题,请参考以下文章
SQL语句—where条件查询Python解释器详解实现代理池的API模块