Sql动态查询语法错误

时间:2017-10-14 00:08:17

标签: javascript mysql sql node.js

这是我的SQL查询

.doc()

我希望在变量形式的where子句动态之后的表名,列名和值。你能告诉我正确的语法吗?到目前为止我试过这个

"select * from applicant where email =ABC.Com"

现在此查询在"select * from " tableNameVariable+"where "columnNameVariable+"= "inputedEmailVariable 附近发出错误。 注意:我想在nodejs函数中使用此字符串。请告诉我正确的语法?

2 个答案:

答案 0 :(得分:1)

尝试:

"select * from " + tableNameVariable + " where " + columnNameVariable + " = '" + inputedEmailVariable + "'"

答案 1 :(得分:0)

您错过了一些+运算符,并且在where之前也错过了一个空格。

var sql = "select * from " + tableNameVariable + " where " + columnNameVariable + " = " + inputedEmailVariable

如果变量来自用户输入,您应该非常小心,因为这会导致SQL注入。确保变量包含允许访问的表和列值。

如果您将该列与字符串进行比较,则需要在字符串周围添加引号。但最好在那时使用占位符,而不是连接变量。