区别:
1、$ 只是简单的字符拼接
如:
select * from table where id = $id$
如果id为数字则正常,若为字符串,则会报错,应该写成: select * from table where id = '$id$' 2、# 进行变量替换 上述例子写成如下,则不会出问题 select * from table where id = #id# '#'可以防止sql注入
使用建议:
- 1、对于变量部分, 应当使用#,这样可以有效的防止sql注入,并且# 都是用到了prepareStement,这样对效率也有一定的提升。
- 2、$只是简单的字符拼接而已,对于非变量部分, 那只能使用$, 实际上, 在很多场合,$也是有很多实际意义的 。 例如 :select * from $tableName$ 对于不同的表执行统一的查询。 $只是字符串拼接, 所以要特别小心sql注入问题。
- 3、能同时使用#和$的时候最好用#。
标签: id、拼接、注入、写成、sql
笔试题
刷题
简历模板
AI算法
大数据
内推
内推: