我写了一个简单的方法来得到一个字符串从数据库中查询错误(com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException):预处理语句执行
public String getUserString(int id, String table, String column) {
String output = null;
try {
String sql = "SELECT ? FROM ? WHERE id=?;";
PreparedStatement preparedStatement = getConnection().prepareStatement(sql);
preparedStatement.setString(1, column);
preparedStatement.setString(2, table);
preparedStatement.setInt(3, id);
ResultSet resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
output = resultSet.getString(column);
}
} catch (SQLException e) {
e.printStackTrace();
}
return output;
}
但是当我尝试使用它像这样:coreMySQL.getUserString(1, "economy", "balance");
我得到这个错误: https://pastebin.com/BMAmN4Xh
是你的表名平衡?你能提供你的数据库表的快照 –
我的表名不平衡,这是经济。这是数据库的屏幕截图:https://image.prntscr.com/image/WYs3J5XkT3_oSvK2EI5jfg.png –
remove';'所以“SELECT?FROM?WHERE id =?” – resource8218