今天调试一个连接数据库的jsp小项目时候,发现insert方法插入的值如果含单引号的话,控制台会报错,经过一番搜索找到了解决方法,故此记录一下。
就像这样,在Servlet中要把下面的username插入到数据表中。
if(username == "") username = "\'匿名用户\'";
下面是我项目里数据库的插入语句,用一个字符串变量存放。
String sqli = " INSERT INTO mas(留言人,留言时间,留言主题,留言人Email,留言内容) VALUES ('" + username + "','" + nowtime + "','"
+ topic + "','" + email + "','" + masinfo + "')";
接下来执行。。
就会报错 嗯 怎么解决呢?
在上面两个语句之间加上下面这句:
username = username.replace("'", "''");SQL语句中单引号用来两个单引号表示。
今天还学会了怎么在servlet中弹出提示框,关闭后返回上一个页面且不刷新,嘻嘻。