我需要在我的SQL查询中添加if条件。我想到了这个解决方案,但它不起作用,我也不确定为什么。
local.platformId = arguments.platformId ? "AND platforms.id = #arguments.platformId#" : "";
local.pages = new Query(dataSource=variables.wheels.class.connection.datasource);
local.pages.setSQL
("
SELECT COUNT(games.id) AS totalRecords
FROM games
INNER JOIN platforms ON games.platformId = platforms.id
WHERE 0=0
:platform
");
local.pages.addParam(name="platform", cfsqltype="CF_SQL_VARCHAR", value=local.platformId);
local.pages = local.pages.execute().getResult();
我遇到了一个错误:您的SQL语法有误;请检查...near''AND platforms.id = 1'''在第6行
有什么办法可以解决这个限制,同时确保免受SQL注入攻击的安全呢?
(arguments.platformId)
? - user3071284