通过java返回的SQL查询;java.lang.NullPointerException“;
这是我与我的计算机和数据库建立连接的代码,在此之后,我从用户那里收到用户名和密码,然后执行此查询通过java返回的SQL查询;java.lang.NullPointerException“;,java,mysql,database,Java,Mysql,Database,这是我与我的计算机和数据库建立连接的代码,在此之后,我从用户那里收到用户名和密码,然后执行此查询 try{ Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost/phpMyAdmin/Database_Name","root",""); stmt=con.createStatement(); } 问题是,无论
try{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost/phpMyAdmin/Database_Name","root","");
stmt=con.createStatement();
}
问题是,无论何时执行查询,都会得到
java.lang.NullPointerException连续3次
关于为什么会发生这种情况,您有什么想法吗?您的查询和代码存在多个问题
JOIN
(JOIN
与所述表一起),您无法访问另一个表列teacher\u info.password
)”
,.password=“+password);
了解防止SQL注入的准备好的语句阅读并改进您的问题。添加一个不是您在2017年编写查询的方式的语句,对SQL注入开放,当您不知道如何处理此类异常时,数据库工作超出了您当前的技能范围。您只是让自己负担过重。@GhostCat我同意,但我希望我能d告诉我的学术机构:DAlso在这一个上缺少两个
”
,.password=“+password”)代码>1。空间到底在哪里丢失了?2. @仅当密码是字符串时才使用Luke。如果仅为数字,则为oaky@Luke,接得好。。。包括在答案中。Thanks@XtremeBaumer,仔细看,您会发现和之前缺少空格。。。即使它是数字。。密码始终为字母数字,在SQL中为varchar
。你有没有见过密码int
?@Rahul一个纯密码int就是例如电话pin码。复制自您的答案”和t
,并且和和之间有一个空格
try {
rs=stmt.executeQuery("SELECT * FROM d
teacher_info WHERE UserName
= '"+userName+"' AND teacher_info.password
="+password);
}