java - 如何使用jsp和mysql向单个帖子添加多个标签(数组)?

标签 java mysql jsp checkbox

我有一个问题
Tecno 的标签是:java,php,javascript
我的 Recoge_datos.jsp

String[] tecno=request.getParameterValues("tecno");
try{

java.sql.Connection miConexion=java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/proyecto_jsp","root","");
java.sql.Statement miStatement=miConexion.createStatement();

String instruccionSql="INSERT INTO USERS (nombre, apellido, usuario, contra, pais, tecno) VAlUES ('" + nombre + "','" + apellido +"','"+ usuario +"','"+ contra +"','" + pais +"','" + tecno + "')";

miStatement.executeUpdate(instruccionSql);

out.println(" Registrado con exito ");
}catch(Exception e){
out.println("Ha habido un error");
}

和我的 Formulario_registro.html

<form action="Recoge_datos.jsp" method="post">
<tr>
  <td>Tecnologias: </td>
  <td><label>
    <input type="checkbox" name="tecno" value="Java" id="tecnologias_0">
    Java</label>
    <br>
    <label>
      <input type="checkbox" name="tecno" value="PHP" id="tecnologias_1">
      Php</label>
    <br>
    <label>
      <input type="checkbox" name="tecno" value="JavaScript" id="tecnologias_2">
  JavaScript</label></td>
</tr>

在 MySQL 中我有这个:

[Ljava.lang.String;@6ecf7e94<br>

但是如果选择的话应该是java,javascript,php
我使用的是最新版本的java和tomcat 9,全部是最新版本02/2017

最佳答案

我认为您打算将数组作为字符串插入。如果是这样,您需要将数组转换为正确的字符串。您可以在 Java 8 中使用 String.join()

String tecnoStr = String.join(",", tecno);

有关执行此操作的更多选项,请参阅:

此外,始终使用参数化语句 PreparedStatement 。您的代码目前容易受到 SQL 注入(inject)攻击。

String instruccionSql = "INSERT INTO USERS (nombre, apellido, usuario, contra, pais, tecno) VAlUES (?,?,?,?,?,?)";

PreparedStatement ps = miConexion.prepareStatement(instruccionSql);
ps.setString(1, nombre);
ps.setString(2, apellido);
ps.setString(3, usuario);
ps.setString(4, contra);
ps.setString(5, pais);
ps.setString(6, tecnoStr);

ps.executeUpdate();

此外,请记住关闭连接,最后的语句(为了简洁起见,保留在此处)。

关于java - 如何使用jsp和mysql向单个帖子添加多个标签(数组)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42465092/

相关文章:

java - Hibernate - 从另一个表中选择具有 id 的实体?

php - 进行迁移时如何创建 float 但不加倍的字段?

html - 显示数据库中的图像

java - 处理带有多个下拉菜单的 Spring MVC 表单的问题

javascript - 什么是正确的方法?使用 javascript 和 mysql

java - 运行时出现空指针异常。

java - 该类没有定义 IdClass

java - 如果安装了特定应用程序,如何删除广告?

java - 缓冲类和发送/接收数据

php - 如何输入 id 而不是年份?