大家晚安。我有这些代码。我只在这里复制了有问题的代码。向Java数据库插入数据时出错,使用Java
//This is my main method. I called my Database.class, made the connection and called the insertnewcustomer method.
public static void main(String[] args) {
Database db = new Database();
db.connectDB();
db.insertNewCustomer(86754312, "arda", "zenci", 55418, 400);
.................//
//and here is my insertNewCustomer method which is inside the Database.class
public void insertNewCustomer(int num, String name, String surname, int phone, int debt){
try {
statement.executeUpdate("INSERT INTO Customer(customer_cardno, customer_name, customer_sirname, customer_phone, debt) VALUES(" + num + ", " + name + ", " + surname + ", " + phone + ", " + debt + ")");
} catch (SQLException e) {
e.printStackTrace();
}}
我看不出有什么问题,但我有一个MySQLSyntaxErrorException
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'arda' in 'field list'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4187)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4119)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2570)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2809)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1811)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1725)
at Database.insertNewCustomer(Database.java:39)
at mainFrame.main(mainFrame.java:50)
谢谢你,在你面前回答,我找到了。 =)再次感谢。 –
@ArdaOğulÜçpınar无论如何,请阅读我提供给您的链接。您的代码易受SQL注入攻击。准备好的陈述可以为您节省很多痛苦(而且它们非常易于使用) – Barranka
非常感谢! –