Java 为什么MySQL抱怨此查询中存在未知列?
我在尝试使用mysql查询时遇到以下错误 Problem in Query com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'abc123' in 'where clause'Java 为什么MySQL抱怨此查询中存在未知列?,java,mysql,database,Java,Mysql,Database,我在尝试使用mysql查询时遇到以下错误 Problem in Query com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'abc123' in 'where clause' 尝试替换以下行 String query = "SELECT s.* FROM student s JOIN login l on s.id = l.Student_ID WHERE l.Student_ID = " + w + "
尝试替换以下行
String query = "SELECT s.* FROM student s JOIN login l on s.id = l.Student_ID WHERE l.Student_ID = " + w + " and l.Password = '" + t +"'";
更新:您应该使用PrepareStatement
而不是上例中的语句
,这将帮助您轻松处理此类情况
还有更多
我希望有帮助。尝试替换以下行
String query = "SELECT s.* FROM student s JOIN login l on s.id = l.Student_ID WHERE l.Student_ID = " + w + " and l.Password = '" + t +"'";
更新:您应该使用PrepareStatement
而不是上例中的语句
,这将帮助您轻松处理此类情况
还有更多
我希望它能帮上忙。谢谢,我试过了,但没有出现相同的错误,(我试过将登录表中的密码数据类型同时用作text和varchar(75),但仍然给出相同的错误这是我用来从Passwordfield String w=String.valueOf(Passwordfield.getPassword())获取文本的方法;@DanishAli如果你说这个答案不起作用,我想你错过了这个答案中额外的单引号。@Danish,如果它起作用,你应该对答案进行更新投票,并将其标记为已接受,这样对其他人会有帮助:)谢谢,我试过了,但没有起到同样的作用。(我试过将登录表中的密码数据类型同时作为text和varchar(75)但仍然给我同样的错误这是我用来从Passwordfield String w=String.valueOf(Passwordfield.getPassword());@DanishAli我想如果你说它不起作用,你会错过这个答案中额外的单引号。@DanishAli,如果它起作用,你应该对答案进行投票并将其标记为已接受,这样可以帮助其他人:)如果使用参数化查询,您的问题将得到解决。如果使用参数化查询,您的问题将得到解决。