java - 使用java中的Prepared Statement将用户IP地址插入MySql表
问题描述
我需要使用 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
解决方案
如果您想获取 IP,则不要使用:
preparedStatement.setString(1, ipaddress);
利用 :
// this will return the IP Host Adresse for example 192.168.1.2
preparedStatement.setString(1, ipaddress.getHostAddress());
推荐阅读
- php - 递归函数在php中返回不正确的值
- python - 滚动不适用于 PySimpleGUI 中的下拉选择
- c++ - Bazel:本地访问附近的文件
- javascript - 如何使用 prismjs 在 vuejs 中将副本添加到剪贴板功能?
- salesforce - 未知构造函数'.......(ApexPages.StandardController 控制器)'
- node.js - 将参数/通配符定义为 npm 脚本键/名称的一部分
- jenkins - 如何将 Sonarqube 添加到 Jenkins
- wordpress - 在 wordpress 管理员中打开主题页面时出错
- r - 错误:找不到对象“h2o.targetencoder”
- dataweave - 如何获取 XML 编码类型?