2017-10-14 104 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