如何使用特殊字符(%,等)将字符串从文本区域更新到mysql表

How to update string with special char (%,& etc) from a textarea to a mysql table?

本文关键字:区域 文本 更新 mysql 字符串 特殊字符 何使用      更新时间:2023-09-26

我是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();

如果在文本区域中输入的文本包含 ,&' 和 + ,则不会进行 SQL 更新。我想使用在文本区域中输入的所有文本更新表格。请帮忙。

>你需要用''''来描述特殊字符:

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

查找相应的特殊字符并将其替换为转义字符'

你的代码看起来像Java,而不是JavaScript,所以我会把它当作一个Java问题。

预准备语句应该无需对查询的特殊字符进行转义,因此我将寻找其他可能的原因。

您的字段pvr_number看起来像是一个数值,而不是一个字符串(只是一个猜测,在你用表定义更新你的帖子之前,没有办法告诉)。如果是数值字段,例如 int,您需要在preparedStatement上使用setInt()而不是setString()