sql语句的where查询语句中‘SELECT userid,name FROM tuser WHERE userid=?’是什么意思?

2024-10-30 13:03:32
推荐回答(4个)
回答1:

WHERE userid=? AND password=?
?是表示 输入的值。
这个执行之后 的结果实际上是 :
SELECT userid,name FROM tuser WHERE userid=1 AND password=2
1和2 来自
pstmt.setString(1,userid) ;
pstmt.setString(2,password) ;

回答2:

这里的"?"是参数占位符, 表示在执行查询时用传入的参数替换该内容
在你的例子中,

pstmt.setString(1,userid) ; // 将应用得到的参数userid传给第一个参数,
pstmt.setString(2,password) ; // 将应用得到的参数password传给第二个参数;

回答3:

这是为了防止SQL注入最简单的办法,?是表示参数,用pstmt.setString(1,userid) 和stmt.setString(2,password) 替换参数来执行SQL语句。

回答4:

?代表传入的参数
第一个代表userid
第二个代表password