我需要使用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
答案 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());