Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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 我正在尝试更新mySQL数据库,但是当我尝试更新多个列时,会发生错误_Java_Mysql_Sql_Jdbc - Fatal编程技术网

Java 我正在尝试更新mySQL数据库,但是当我尝试更新多个列时,会发生错误

Java 我正在尝试更新mySQL数据库,但是当我尝试更新多个列时,会发生错误,java,mysql,sql,jdbc,Java,Mysql,Sql,Jdbc,我正在尝试编辑/更新已输入表单的详细信息。当我尝试自己更新地址时,它会工作。但是,当我尝试更新多个列时,它不会。我假设以下代码存在问题,因为它与一个实体(而不是多个实体)一起工作 Update register set (address, contact) = concat('"+address+"', '"+mob+"'); 这是java代码。这是错误显示,jsp显示为空白页面 try{ String session_id =null; HttpSession

我正在尝试编辑/更新已输入表单的详细信息。当我尝试自己更新地址时,它会工作。但是,当我尝试更新多个列时,它不会。我假设以下代码存在问题,因为它与一个实体(而不是多个实体)一起工作

Update register set (address, contact) = concat('"+address+"', '"+mob+"');
这是java代码。这是错误显示,jsp显示为空白页面

try{

          String session_id =null;
    HttpSession session1=request.getSession(false); 


    if(session1!=null){  
    session_id=(String)session1.getAttribute("name");  

    }

    String name = request.getParameter("name");
    String email = request.getParameter("email");
    String pass = request.getParameter("password");
    String address = request.getParameter("address");
    String mob = request.getParameter("contact");

      Class.forName("com.mysql.jdbc.Driver");
      Connection  con = DriverManager.getConnection("jdbc:mysql://localhost:3306/alt", "root", "");


      Statement stmt = con.createStatement();
      stmt.execute("Update register set (address, contact) = concat('"+address+"', '"+mob+"') where uid='"+session_id+"'");
      out.println("registration success");
      response.sendRedirect("login.jsp");

    }catch(Exception e){

    }


    %>

尝试以下更新语法:

    update register set
    address = concat('"+address+"', '"+mob+"'),
    contact = concat('"+address+"', '"+mob+"')
    where uid='"+session_id+"'");

您需要使用
updateset=,=
它显示一个空白页,因为您正在接受/忽略异常。永远不要这样做,至少要记录它或将它打印到错误中(例如
e.printStackTrace()
)。无论如何,你的查询是错误的;查看MySQL文档中的正确语法。此外,永远不要将值连接到查询字符串中。它是不安全的,并且使您的代码容易受到SQL注入的攻击。请了解准备好的陈述。如果条件缺失,请将其添加到您的答案中