0
我使用的NodeJS和MySQL NPM包,我想在那里other_text =你需要围绕Mysql参数使用括号来防止sql注入吗?
下面是它看起来像从表中选择:
var query = connection.query(`SELECT id FROM ${tableName} WHERE other_text = ?`,
attributeName.other_text, function (err, rows) {
...
我已阅读,使用?会自动转义用户输入的字符串。在大多数的,我看到这样做的例子,他们围绕着第二个参数括号中的查询功能,如下图所示:
var query = connection.query(`SELECT id FROM ${tableName} WHERE other_text = ?`,
[attributeName.other_text], function (err, rows) {
...
是括号必要的,以便逃脱在传递的字符串?它在我尝试时可以工作,但我甚至不知道如何测试SQL注入,因此我不知道括号是否必要或甚至正确。
谢谢。
它是否工作_without_括号? –
@SergioTulentsev是的。我只是担心它不会在没有括号的情况下转义数据。 –