#和$的区别和使用场景
#和$的区别:
使用#的时候,sql执行之前会通过预编译将参数转换为一个占位符,然后执行sql的时候会将参数使用''拼接,这种方式可以防止sql注入
使用$的时候,sql语句不会进行预编译,在使用的时候会直接将参数拼接,不能防止sql注入
比如在t_user表中通过参数{name}查询数据,name的值假如传入tom
使用#:
预编译之后:select * from t_user where name = ?
在执行sql的时候:select * from t_user where name = 'tom'
使用$:
在执行sql的时候:select * from t_user where name = tom
#和$的使用场景:
1.在拼接sql结构的地方使用$,比如排序
2.其他地方能用#就不要用$