Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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 I';我在netbeans中遇到42000 sql语法错误,但相同的查询字符串在mysql控制台中运行良好_Java_Mysql - Fatal编程技术网

Java I';我在netbeans中遇到42000 sql语法错误,但相同的查询字符串在mysql控制台中运行良好

Java I';我在netbeans中遇到42000 sql语法错误,但相同的查询字符串在mysql控制台中运行良好,java,mysql,Java,Mysql,好的……这是我的代码,我不知道我哪里出错了……我在netbeans中遇到了42000个错误,我知道这是一个sql语法错误,但它在mysql控制台中工作得非常好 try { Class.forName("com.mysql.jdbc.Driver"); Connection CC = DriverManager.getConnection("jdbc:mysql://localhost:3306/pulsedb"

好的……这是我的代码,我不知道我哪里出错了……我在netbeans中遇到了42000个错误,我知道这是一个sql语法错误,但它在mysql控制台中工作得非常好

 try
     {
         Class.forName("com.mysql.jdbc.Driver");

         Connection CC =         
         DriverManager.getConnection("jdbc:mysql://localhost:3306/pulsedb", "root", "carrizo");


String q1 = String.valueOf(jComboBox1.getSelectedItem()); 
         String ans1 = jTextField9.getText();

         String q2 = String.valueOf(jComboBox2.getSelectedItem());
         String ans2 = jTextField10.getText();

         String recovQA  = "INSERT INTO pulsedb.mstuffrecovery (recov_qsn,recov_ans)     VALUES('"+q1+"',"+ans1+"')";
         String recovQA2  = "INSERT INTO pulsedb.mstuffrecovery2 (recov_qsn2,recov_ans2) VALUES('"+q2+"',"+ans2+"')";


         PreparedStatement PQS = CC.prepareStatement(recovQA);
         PreparedStatement PQQ = CC.prepareStatement(recovQA2);


         PQS.executeUpdate(recovQA);
         PQQ.executeUpdate(recovQA2);


catch(SQLException e)
             {

                 System.out.println(e.getSQLState());
                 e.getMessage();
                 e.getErrorCode();
                 e.printStackTrace();

             }
1) 我非常怀疑同一个查询在SQL控制台中是否有效,因为您缺少(至少)一个引号,并且它会通过一个错误来完成。如果您错过了它,这意味着您在控制台和代码中运行的查询与以前的查询不同……

2) 在向SQL传递值时应始终使用参数

当您去看医生时,是否告诉他们您有什么问题?还是让他们猜?在ans1和ans2之前,你错过了一个。你在第一季度和第二季度做得很好。在这一点上+感谢Sotirios成为我今天的笑料。你的代码对SQL注入非常开放。@TheOneWhoPrograms…非常感谢…有点愚蠢,但有时很难发现!我是分开打字的,这可能就是为什么我错过了那句话,但现在效果很好。谢谢。关于第2点)你能给我一个示例代码吗…我不太擅长编程,但是你的SQL将
插入到tableName(fld1,fld2…)值(?,…)