使用 java 中的 Prepared Statement 将用户 IP 地址插入 MySql table

Insert user IP Address into MySql table using Prepared Statement in java

我需要使用 PreparedStatement 将用户 IP 地址插入 MySql table。我该怎么做?

我尝试在 Servlet 中使用以下代码。

InetAddress ipaddress;
try {
    ipaddress = InetAddress.getLocalHost();
} catch (UnknownHostException e) {
    e.printStackTrace();
}

我想知道有没有比上面更好的获取IP地址的方法??或者我可以继续上面的代码?

String insertquery = "insert into tablename (IPAdd) values (?)";

preparedStatement = conn.prepareStatement(insertquery);
preparedStatement.setString(1, ipaddress);// It's not a string so How can I set values here ?// Getting error here

如果你想获取 IP 那么不要使用:

preparedStatement.setString(1, ipaddress);

使用:

// this will return the IP Host Adresse for example 192.168.1.2
preparedStatement.setString(1, ipaddress.getHostAddress());