【发布时间】:2023-04-05 19:50:01
【问题描述】:
我在 Java eclipse 中有一条错误消息。我在 MySql 中有一个数据库,它的列有String user_name、int id_time、int id_desk、int user_password。我想用 using 插入数据
public void reserve(String user_name, int id_time, int id_desk, int user_password){
try{
String reserveSql = "INSERT INTO reservation"
+"VALUES ('" + user_name + "," + id_time + "," + id_desk + "," + user_password + "');";
stmt.executeUpdate(reserveSql);
}catch (SQLException ex) {
System.out.println("Error: " + ex.getMessage());
}
}
方法。
在数据库中,user_name 是 varchar(45),id_time 是 int(3),id_desk 是 int(3),user_password 是 int(4)
但是在我写的主要方法中
object.reserve("irem",002,111,1111);
它给了我错误信息
错误:您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 在第 1 行的 ''irem,2,111,1111')' 附近
我该如何解决?感谢您的帮助
【问题讨论】:
-
学习使用参数化查询。或者在某些时候你会遭受 SQL 注入的影响。
-
除非你希望它们是八进制,否则不要写带有前导零的整数。