插入"152@qq.com"出错
时间: 2023-07-07 07:28:56 浏览: 195
使用 Python 处理3万多条数据只要几秒钟
如果插入 "152@qq.com" 出错,可能是因为在获取表单中输入框的值时,没有正确处理特殊字符 "@"。在JSP中,可以使用 EL 表达式的方式获取表单中输入框的值,例如:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert Data</title>
</head>
<body>
<h1>Insert Data</h1>
<form action="insert.jsp" method="post">
<label for="phone">Phone:</label>
<input type="text" name="phone" id="phone">
<br/><br/>
<input type="submit" value="Insert">
</form>
<%
if(request.getMethod().equals("POST")){
String phone = request.getParameter("phone");
if(phone != null && !phone.equals("")) {
try {
// 导入JDBC驱动程序并建立数据库连接
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
// 编写SQL语句并创建PreparedStatement对象
String sql = "INSERT INTO your_table (phone) VALUES (?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
// 设置参数值
pstmt.setString(1, "${param.phone}");
// 执行SQL语句并提交事务
pstmt.executeUpdate();
conn.commit();
// 关闭连接
pstmt.close();
conn.close();
out.println("Data inserted successfully!");
} catch (Exception e) {
e.printStackTrace();
out.println("Error: " + e.getMessage());
}
} else {
out.println("Phone number cannot be empty!");
}
}
%>
</body>
</html>
```
请注意,这里使用 `${param.phone}` 获取输入框的值,这样可以避免特殊字符的问题。另外,为了避免SQL注入攻击,建议使用参数化查询。
阅读全文