使用Java中的Prepared Statement将用户IP地址插入MySql表

时间:2019-07-13 13:18:11

标签: java mysql jdbc prepared-statement ip-address

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

我尝试在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

1 个答案:

答案 0 :(得分:3)

如果要获取IP,则不要使用:

preparedStatement.setString(1, ipaddress);

使用:

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