参数索引超出范围(1>参数个数,为0)

时间:2012-07-23 19:09:31

标签: java mysql

我收到此错误,有人可以帮助我在查询中找到错误吗?

public boolean populateLeagues(String leaguename, String password){

        Connect connect = new Connect();
        Connection conn = connect.Connection();
        Statement stmt = conn.createStatement();            
        String query = "INSERT INTO users VALUES('" + leaguename + "')";
        stmt.executeUpdate(query);
        conn.close();
}

2 个答案:

答案 0 :(得分:0)

AS @Jon Skeet说,使用预准备语句并将参数注入。通过这种方式,您不必弄清楚有关sql注入和数据格式的所有麻烦(考虑使用类似于您提供的查询来全局存储日期时间)。 可能leaguename值为null。请记住,字符串类型的默认值不是空的strin而是null

答案 1 :(得分:-1)

您使用leaguename周围的单引号,因为我们不知道leaguename的格式如何,这可能会导致错误