我对此感到非常生气,所以我向人群寻求帮助;)
我想做的:我们有一个 Unity 学习游戏,它将实现一个登录窗口。然后对输入的凭据进行哈希处理(密码)并将其发送到服务器,然后服务器应根据数据库进行检查。
我有下表:
xy.users_confirms 具有以下列:
已创建 ID 用户名电子邮件密码哈希码
为什么我的代码
String sql = "SELECT " + "xy.users_confirms.password as pwhash, "
+"FROM xy.users_confirms " +"WHERE xy.users_confirms.username = " +"\"userNameToGetHashFor\"";
导致我遇到 SQLException“参数索引超出范围(1 > 参数数量,即 0)”
?
谢谢,非常感谢任何意见!
最佳答案
试试这个:
String parameter = "'"+ strNameToGetHashFor + "'";
String sql = "SELECT " + "xy.users_confirms.password as pwhash, "
+"FROM xy.users_confirms "
+"WHERE xy.users_confirms.username ="+ parameter;
您正在使用 varchar
值作为参数,因此需要像这样引用。'username'
。或者您可以使用Stored Procedure .
关于java - 为什么这个 SQL 语句会导致错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29023310/