0

我是 javascript 和 java 的新手。我正在尝试使用 HTML 表单的文本区域中的文本更新我的 mysql 表。我正在使用下面的代码来更新它:

Statement st = con.createStatement();           
qs = "INSERT INTO pvr_feasibiliyu_coments ( pvr_number, confname, external_coment) VALUES(?, ?, ?);";  

PreparedStatement preparedStatement = con.prepareStatement(qs);
preparedStatement.setString(1, request.getParameter("pnum"));
preparedStatement.setString(2, request.getParameter("cnfname"));
preparedStatement.setString(3, request.getParameter("coment"));
preparedStatement.executeUpdate();

如果在 textarea 中输入的文本包含 %,&' 和 + ,则不会发生 SQL 更新。我想用 textarea 中输入的所有文本更新表格。请帮忙。

4

3 回答 3

0

您需要使用 '\' 转义特殊字符:

http://www.quackit.com/javascript/tutorial/javascript_escape_characters.cfm

于 2013-09-23T07:31:42.507 回答
0

查找并用转义字符替换相应的特殊字符\

于 2013-09-23T07:34:25.737 回答
0

您的代码看起来像 Java,而不是 JavaScript,因此我将其视为 Java 问题。

准备好的语句应该消除为您的查询转义特殊字符的需要,所以我会寻找其他可能的原因。

您的字段pvr_number看起来需要一个数值,而不是字符串(只是猜测,在您使用表定义更新帖子之前无法判断)。如果它是一个数字字段,例如int,您需要使用setInt()而不是setString()在您的preparedStatement.

于 2013-09-23T07:55:50.747 回答