该行是否存在?如果是这样更新它,如果没有添加它mysql / java
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了该行是否存在?如果是这样更新它,如果没有添加它mysql / java,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1791字,纯文字阅读大概需要3分钟。
内容图文
public static boolean saveUserInfo(Client c){
try {
Statement statement = conn.createStatement();
ResultSet group = statement.executeQuery("SELECT * FROM users WHERE username = '"+ c.playerName + "'");
if (!group.next())
statement.execute("INSERT INTO `users` (`username`, `password`, `rights`, `address`, `hasbankpin`, `bankpin1`, `bankpin2`, `bankpin3`, `bankpin4`, `height`, `posx`, `posy`, `cbowcount`, `vls`, `skulltime`, `ep`, `dpoints`, `vlsleft`) VALUES ('"+c.playerName+"', '"+c.playerPass+"', '"+c.playerRights+"', '"+c.getIP()+"', '"+c.hasBankPin+"', '"+c.bankPin1+"', '"+c.bankPin2+"', '"+c.bankPin3+"', '"+c.bankPin4+"', '"+c.heightLevel+"', '"+c.absX+"', '"+c.absY+"', '"+c.crystalBowArrowCount+"', '"+c.degradeTime+"', '"+c.skullTimer+"', '"+c.earningPotential+"', '"+c.dungeonPoints+"', '"+c.vlsLeft+"')");
抱歉这个烂摊子,但我要做的是检查用户是否存在于表格中.如果是这样,我希望它更新它,如果不是,我希望它添加用户.我一直在尝试这几天,我没有运气.
任何帮助深表感谢!
解决方法:
您的代码容易受到SQL注入攻击.为了避免这种情况,请使用JAVA PreparedStatement.除此之外,它还会让您在数据库中插入具有单引号的记录. Prepared Statement的一个例子是这样的:
PreparedStatement updateSales = con.prepareStatement(
"INSERT INTO tableName(colA, colB) VALUES (?, ?)");
updateSales.setInt(1, 75);
updateSales.setString(2, "Colombian");
updateSales.executeUpdate();
记住要经常消毒你的输入.
回到你的问题,你可以使用INSERT … ON DUPLICATE KEY UPDATE
示例,(您的用户名必须是UNIQUE)
INSERT INTO `users` (`username`, `password`, `rights`,
`address`, `hasbankpin`, `bankpin1`,
`bankpin2`, `bankpin3`, `bankpin4`, `height`,
`posx`, `posy`, `cbowcount`, `vls`, `skulltime`,
`ep`, `dpoints`, `vlsleft`)
VALUES ('','', .....other values...., '')
ON DUPLICATE KEY
UPDATE `password` = '',
`rights` = '',
... other values here
内容总结
以上是互联网集市为您收集整理的该行是否存在?如果是这样更新它,如果没有添加它mysql / java全部内容,希望文章能够帮你解决该行是否存在?如果是这样更新它,如果没有添加它mysql / java所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。