我有以下代码:
conditions.add("mydate = str_to_date('"+date_from_user+"', '%Y-%m-%d')");
以上工作正常,但由于我从用户那里获取输入并将其推到我的查询中,我冒着查询安全的风险。所以我想使用命名模板,所以我将代码更改为:
conditions.add("mydate = str_to_date(':mydate', '%Y-%m-%d')");
namedParams.put("mydate", date_from_user);
但是,上面的代码不起作用并产生以下错误消息:
<SQLWarning ignored: SQL state 'HY000', error code '1411', message [Incorrect datetime value: ':mydate' for function str_to_date]>
所以似乎namedparameter没有获取价值..