节点 Mysql 转义 - Mysql.Escape() / Mysql.EscapeId()

Yas*_*obi 3 node.js node-mysql mysqljs

我正在使用 mysql-node: https: //github.com/mysqljs/mysqlMysql.Escape()但我对默认清理、 vs和vsMysql.EscapeId()的使用有点困惑。文档说????

默认清理

当您将对象传递给 .escape() 或 .query() 时,.escapeId() 用于避免对象键中的 SQL 注入。

我看到术语“对象”,那么这是否意味着我仍然应该转义这样的查询?

UPDATE table SET updated_at = userInput WHERE name = userInput

Mysql.Escape() 与 Mysql.EscapeId()
这两个函数有什么区别。文档说 mysql.escape 使用 mysql.escapeId。我知道它们都会清理输入,但是是否存在使用其中之一的情况?

?与??
文档中???可以互换使用。它们的意思是一样的吗?

小智 5

该文档描述了 escape() 和 escapeId() 的作用。当您需要转义值时,请使用 escape()。当您需要转义标识符(例如表、数据库或列名)时,请使用 escapeId()。