首页 > 解决方案 > java - 如何使用java和j-connector插入带有撇号的字符串作为mysql数据库字段的值?

问题描述

我有一个带有“用户名”字段的数据库,并使用 Java 将值插入到数据库中。我尝试输入用户名“l'ornitorinco”,但程序无法运行(崩溃)。我知道当我用 phpMyAdmin 插入一个撇号字符串时,比如“l'ornitorinco”,它是以这种方式发送的“l'ornitorinco”。我可能应该分析字符串并在适当的点插入撇号(使用从 0 到 string.length 的 for 循环),但有人知道更合适的方法吗?我读过关于设置字符串以供 mysql 使用的方法,但我不记得了。

标签: javamysqlstring

解决方案


您可以使用PreparedStatement, 因为它的setString()方法允许您在值上包含撇号,这比玩单引号/双引号游戏要简单得多。

String queryString = "insert into username values (?)";
query = con.prepareStatement(queryString);
query.setString(1, "l'ornitorinco");
query.executeUpdate();

这里查看更多信息。希望能帮助到你!


推荐阅读