Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解决java.sql.SQLException:列计数不';第1行的值计数不匹配为什么?_Java_Sql_Jdbc - Fatal编程技术网

如何解决java.sql.SQLException:列计数不';第1行的值计数不匹配为什么?

如何解决java.sql.SQLException:列计数不';第1行的值计数不匹配为什么?,java,sql,jdbc,Java,Sql,Jdbc,不明白为什么会显示错误 java.sql.SQLException:列计数与第1行的值计数不匹配 我的代码是 <%@ page import="java.sql.*" %> <% String ime = request.getParameter ("ime"); String priimek = request.getParameter ("priimek"); String spol = request.getParameter ("spol");

不明白为什么会显示错误

java.sql.SQLException:列计数与第1行的值计数不匹配

我的代码是

<%@ page import="java.sql.*" %>
<% 
String ime = request.getParameter ("ime");   
String priimek = request.getParameter ("priimek");      
String spol = request.getParameter ("spol");   
String email= request.getParameter ("email");      
String gsm = request.getParameter ("gsm");       
String datumr = request.getParameter ("datumr");  
String subject = request.getParameter ("subject");   
String q1 = request.getParameter ("q1");    
String q2 = request.getParameter ("q2");   
String q3 = request.getParameter ("q3");      
String q4 = request.getParameter ("q4");       
String q5 = request.getParameter ("q5");  
String q6 = request.getParameter ("q6");   
String q7 = request.getParameter ("q7");    
String q8 = request.getParameter ("q8");   
String q9 = request.getParameter ("q9");      
String q10 = request.getParameter ("q10");       

Connection con = null; 
Statement stmt = null;
ResultSet rs = null;
try { 
    Class.forName("com.mysql.jdbc.Driver");
    con = DriverManager.getConnection("jdbc:mysql://localhost/zora", "zora", 
"zora0101"); 
    stmt = con.createStatement();
    stmt.executeUpdate ("INSERT INTO stranki (ime, priimek, spol, email, gsm, 
datumr, subject, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10) VALUES 
('"+ime+"', '"+priimek+"', '"+spol+"', '"+email+"','"+gsm+"', 
'"+datumr+"', '"+subject+"', '"+q1+"', '"+q2+"', '"+q3+"', '"+q4+"', 
'"+q5+"', '"+q6+"' '"+q7+"', '"+q8+"', '"+q9+"', '"+q10+"')"); 
} catch(Exception e) %>


我做错了什么?

有时候会发生,别担心。您的代码中缺少逗号:

VALUES 

    ('"+ime+"', '"+priimek+"', '"+spol+"', '"+email+"','"+gsm+"', 
    '"+datumr+"', '"+subject+"', '"+q1+"', '"+q2+"', '"+q3+"', '"+q4+"', 
    '"+q5+"', '"+q6+"'**comma missing here** '"+q7+"', '"+q8+"', '"+q9+"', '"+q10+"')"); 
    }
更正代码:

VALUES 
('"+ime+"', '"+priimek+"', '"+spol+"', '"+email+"','"+gsm+"', 
'"+datumr+"', '"+subject+"', '"+q1+"', '"+q2+"', '"+q3+"', '"+q4+"', 
'"+q5+"', '"+q6+"', '"+q7+"', '"+q8+"', '"+q9+"', '"+q10+"')"); 
}

希望它能解决您的问题。

请学习如何使用带参数的准备语句。您当前的代码不安全,因为它容易受到SQL注入的攻击。此外,它很难阅读(这使得它很容易错过像您这样的错误)。在
“+q6+”
“+q7+”
之间缺少一个逗号。