gpt4 book ai didi

java - 在 Java 中使用 GET 请求更新 SQL

转载 作者:行者123 更新时间:2023-11-30 00:50:41 25 4
gpt4 key购买 nike

我正在尝试用 java 更新 sql 数据库,但它仅适用于导航器。我为此使用 GET 请求,因为主机不允许我激活 sql 远程访问。

这是java函数:

public static void insertScore(String user, boolean win){
URL url;
HttpURLConnection connection=null;
try {
url = new URL("http://mypage/insert.php?user="+user+"&win="+win);
connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
} catch (MalformedURLException ex) {
Logger.getLogger(SQL.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(SQL.class.getName()).log(Level.SEVERE, null, ex);
}
}

还有 insert.php 文件,这个文件没问题,但如果它对您有帮助:

<?php
if($_GET["win"]=='true'){
$sql="UPDATE Score SET `Win` = `Win` +1 WHERE `User` = '".$_GET['user']."'";
}
else{
$sql="UPDATE Score SET `Lose` = `Lose` +1 WHERE `User` = '".$_GET['user']."'";
}

$link = mysqli_connect('myhost','myuser','mypassword','mydb'); //everything ok here
if (!$link) {
die('Error: ' . mysql_error());
}
$result=$link->query($sql);
?>

当我在 safari 中粘贴链接时 http://mypage/insert.php?user=Steve&win=true Sql 数据库正确更新,但我不知道如何使用 Java 执行此操作,它不会更新数据库中的任何内容...

最佳答案

假设您正在使用 DAO设计模式,使用此代码您可以更新数据库中的一行:

public class UserDao { 
// you need to call your Singleton Connection class:
Connection con = MyConnection.getInstanceOf();

// and then you write a method to update your object, here I'm updating a User Object:
public void updateUser(User user) {
try {
String sql= "Update User set username='"+user.getUserName()+"',score='"+user.getScore()+"' where userid='"+user.getUserId()+"'";


Statement ste= con.createStatement();
ste.executeUpdate(sql);

} catch (SQLException ex) {
Logger.getLogger(UserDao.class.getName()).log(Level.SEVERE, null, ex);
}
}

关于java - 在 Java 中使用 GET 请求更新 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21007416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com