2017-10-14 102 views
-1

这是我的SQL查询的Sql动态查询语法错误

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

我想表名,科拉姆名称和值后where子句中的变量存在形式的动态。你能告诉我正确的语法吗?我曾经尝试这样做,到目前为止

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

现在这个查询给了一个错误附近=inputedEmailVariable。 注意:我想在nodejs函数中使用这个字符串。请告诉我正确的语法?

+1

“select * from”+ tableNameVariable +“where”+ columnNameVariable +“='”+ inputedEmailVariable +“'” – Juan

回答

1

尝试:

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

你错过了一些+运营商,以及where之前也缺少空间。

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

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

如果您要将列与字符串进行比较,则需要在字符串周围引用引号。但是,在这一点上使用占位符会更好,而不是连接变量。

+0

如何使用占位符? –

+0

https://stackoverflow.com/questions/15778572/preventing-sql-injection-in-node-js – Barmar