Vous rencontrez l'erreur en essayant d'insérer des données dans une base de données, accompagnée du message "java.sql.SQLException : Parameter index out of range (1 > nombre de paramètres, qui est 0)".
Cette erreur se produit lorsque vous appelez les méthodes setXxx() sur un PreparedStatement sans spécifier d'espaces réservés (?) dans le SQL requête. Par exemple :
String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (val1, val2, val3)"; PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, val1); // Error occurs here
Pour résoudre ce problème, incluez des espaces réservés dans la requête SQL :
String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (?, ?, ?)"; PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, val1);
Notez que les index des paramètres commencent à 1, et il y a pas besoin de citer des espaces réservés dans la chaîne SQL. Cela entraînera la même erreur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!