coldfusion sql查询检查用户

时间:2016-08-02 13:41:07

标签: sql coldfusion

尝试将表单中的接收数据与数据库中的数据进行匹配。所以,如果我转储表格变量和表格,我可以看到有匹配,但coldfusion给了我这个......

  

专栏' Kirill'要么不在任何表中   FROM列表或出现在连接规范中并且在外部   连接规范的范围或出现在HAVING子句和   不在GROUP BY列表中。如果这是CREATE或ALTER TABLE   声明然后' Kirill'不是目标表中的列。

查询:

SELECT FIRST_NAME, PASSWORD 
from APP.USERS_TASK
where FIRST_NAME = "#form.username#"
  and PASSWORD = "#form.password#"

同样的事情也适用于通过url传递的id。虽然有不同的表格。

1 个答案:

答案 0 :(得分:6)

SQL要求字符串是单引号,而不是双引号。

SELECT FIRST_NAME, PASSWORD 
FROM APP.USERS_TASK
WHERE FIRST_NAME = '#form.username#'
AND PASSWORD = '#form.password#'

但实际上,您应该使用cfqueryparam来清理用户输入并防止SQL注入。这也将处理任何数据输入和所需的报价。

SELECT FIRST_NAME, PASSWORD 
FROM APP.USERS_TASK
WHERE FIRST_NAME = <cfqueryparam value="#form.username#" cfsqltype="cf_sql_varchar">
AND PASSWORD = <cfqueryparam value="#form.password#" cfsqltype="cf_sql_varchar">