gpt4 book ai didi

mysql - 如何在 Node mysql 中使用 IF EXISTS 语句?

转载 作者:行者123 更新时间:2023-11-29 07:21:16 26 4
gpt4 key购买 nike

我正在使用 NodeJs mysql 模块,我想在实际查询密码之前检查帐户是否存在。

这是sql:

let sql = `IF EXISTS (SELECT name FROM users WHERE name='${data.name}') SELECT password FROM users WHERE name='${data.name}'`;

当没有 if 语句并且一旦 IF EXISTS 部分被添加进去时,它工作正常,无论我调整什么,总是得到这样的错误:

code: 'ER_PARSE_ERROR',

errno: 1064,

sqlMessage:
'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near...,

sqlState: '42000'

如果有人能帮助我,我将不胜感激!

最佳答案

首先,你的SQL是open sql injection。使用准备好的语句或至少尝试清理输入数据。

请注意,这不是正确的做事方式。您应该简单地检查密码 - 并验证您是否得到任何行:

let sql = 'SELECT password FROM users WHERE name='${data.name}';

然后执行 SQL 并检查是否返回了任何行。如果是,则读取密码,否则该用户名不存在。

关于mysql - 如何在 Node mysql 中使用 IF EXISTS 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56234108/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com