java - java - 如何使用java和j-connector插入带有撇号的字符串作为mysql数据库字段的值?
问题描述
我有一个带有“用户名”字段的数据库,并使用 Java 将值插入到数据库中。我尝试输入用户名“l'ornitorinco”,但程序无法运行(崩溃)。我知道当我用 phpMyAdmin 插入一个撇号字符串时,比如“l'ornitorinco”,它是以这种方式发送的“l'ornitorinco”。我可能应该分析字符串并在适当的点插入撇号(使用从 0 到 string.length 的 for 循环),但有人知道更合适的方法吗?我读过关于设置字符串以供 mysql 使用的方法,但我不记得了。
解决方案
您可以使用PreparedStatement
, 因为它的setString()
方法允许您在值上包含撇号,这比玩单引号/双引号游戏要简单得多。
String queryString = "insert into username values (?)";
query = con.prepareStatement(queryString);
query.setString(1, "l'ornitorinco");
query.executeUpdate();
在这里查看更多信息。希望能帮助到你!
推荐阅读
- django - DJANGO PWA 安装到主屏幕不起作用
- sdl - SDL_DestroyWindow() 和 SDL_Quit() 的意义何在?
- java - setDisplayHomeasUpEnabled 可能会产生 null PointerException
- javascript - 使用 jQuery 验证接受数字和特殊字符
- sql - SQL中布尔列的逻辑与
- c++ - 有没有办法将整数转换为字符串?
- css - 我可以用css按钮运行动画吗?
- pandas - 熊猫 - 将数据月 yyyymm 转换为日期时间 yyyy-mm-dd
- typescript - TypeScript 在找到条目后打破循环
- flutter - 未处理的异常:NoSuchMethodError:类“字符串”没有实例获取器“路径”