我坚持使用java中最简单的SQL查询

我坚持使用java中最简单的SQL查询,java,mysql,sql,select,Java,Mysql,Sql,Select,我在java中找不到以下查询的正确语法,请帮助我 String st = "SELECT COUNT('"+id+"') FROM '"+selected_table+"' "; String st = "SELECT COUNT('"+id+"') FROM '"+selected_table+"'"; 我认为错误在于如何结束查询 由于我收到了错误,请检查与MySQL服务器版本对应的手册,以获取第1行“Customer”附近使用的正确语法 当我选择Customer table时,您希望在对

我在java中找不到以下查询的正确语法,请帮助我

String st = "SELECT COUNT('"+id+"') FROM '"+selected_table+"' ";

String st = "SELECT COUNT('"+id+"') FROM '"+selected_table+"'";
我认为错误在于如何结束查询

由于我收到了错误,请检查与MySQL服务器版本对应的手册,以获取第1行“Customer”附近使用的正确语法


当我选择Customer table时,您希望在对象名称周围使用反勾号而不是单引号

String st = "SELECT COUNT(`"+id+"`) FROM `"+selected_table+"` ";

表名应该用记号(`)包围,而不是单引号(


id
所选表格的值是多少?发送到数据库的实际查询字符串是什么


此外,使用字符串连接手动构建这样的查询很少是一个好主意。这使得一个bug很容易导致一个巨大的安全漏洞,并且尝试保护这种方法比仅仅正确操作要困难得多(风险也很大)。

从您的查询中可以看出,您正在用单引号括起您的id和所选的\u表。。。例如,
从“客户”中选择COUNT('ID')
,这是错误的。应该是backtics``或nothing…

通过连接来自客户端的字符串来形成查询时要小心,因为这会打开一个注入漏洞。@Hyangelo,+1很好,但您认为(考虑到问题质量的影响)那个OP会明白这一点的重要性吗?@mre的观点也很好,但我觉得我必须至少指出潜在的危险。如果OP不知道你的确切意思:既然我是初学者,你能给我一些建议吗,e、 g哪一种是将Java代码与SQL语句相结合的最佳方式?两个值都是string,这是它们的类型–但是您希望它们的值是什么?好的,它可以工作,在FROM子句中,我使用“+selected_table+”而不使用“”,它可以工作。非常感谢各位。
String st = "SELECT COUNT('"+id+"') FROM `"+selected_table+"`";
                                         ^ use tick marks   ^