sql中问号到作用,如:String sql = "select * from tb_users where ip=?";

2025-01-01 05:32:32
推荐回答(3个)
回答1:

是个参数,你在后面就要把那个值放上去,主要是为了防止注入溢出这个漏洞。比如像以前用sql是类似这样的:String sql = "select * from tb_users where ip = '"+ ip +"'",这样子的嘛,那个ip就是个参数,但有些人就在传ip这个参数时就传个ip类似等于 ' abc or 1=1 '这样传到后台的那个sql就变成了String sql = select * from tb_users where ip = '' acb or 1=1 '',这样在数据库因为有or所以都会通过。就入侵了。类似这样。

回答2:

代表后面传入的参数。

回答3:

?是参数,是取代这样用的,有多少问号就有多少个参数