Ich versuche, Daten in verschlüsselter Form in MySQL mit vorbereiteten Anweisung einfügen. Aber ich bekomme diesen Fehler. Ich denke meine Anfrage ist korrekt.AES_ENCRYPT mit MySQL-Server 5.5
Connection con=null;
PreparedStatement psmt1=null;
String tit=request.getParameter("tit");
String min=request.getParameter("minvalue");
String max=request.getParameter("maxvalue");
String disc=request.getParameter("disc");
System.out.println(tit);
String [] title=tit.split(":");
try{
con=databasecon.getconnection();
psmt1=con.prepareStatement("insert into medication(tid,titname,minvalue,maxvalue,disc) values(AES_ENCRYPT(?, 'key'),AES_ENCRYPT(?, 'key'),AES_ENCRYPT(?, 'key'),AES_ENCRYPT(?, 'key'),AES_ENCRYPT(?, 'key'))");
psmt1.setString(1,title[0]);
psmt1.setString(2,title[1]);
psmt1.setString(3,min);
psmt1.setString(4,max);
psmt1.setString(5,disc);
psmt1.executeUpdate();
}
catch(Exception ex)
{
out.println("Error in connection : "+ex);
}
Unten ist meine Verbindungsklasse
package databaseconnection;
import java.sql.*;
public class databasecon
{
static Connection con;
public static Connection getconnection()
{
try
{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/cam","root","root");
}
catch(Exception e)
{
System.out.println("class error");
}
return con;
}
}
Und schließlich Fehler sind
Error in connection : java.sql.SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'maxvalue,disc) values(AES_ENCRYPT('6', 'key'),AES_ENCRYPT('systolic bp', 'key'),' at line 1
Wie meine Kolleginnen und Entwickler angefordert ich bin mein Tisch sturuture
Mögliche Duplikate von [AES \ _ENCRYPT und AES \ _DECRYPT mit Java] (http://StackOverflow.com/Questions/27938636/aes-Encrypt-and-aes-DEcrypt-using-Java) – rkosegi