Java 是什么导致此MySQLSyntaxError异常?
我编写这个查询(在java类中)是为了从MySQL数据库中选择一些信息 并在jsp页面上查看它 从中选择讲师名称 讲师、部门、教授地点 teach.student\u id='3'和teach.section =section.number和section.讲师\u id=讲师.id 但也有例外发生 javax.servlet.ServletException: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 您的SQL语法有错误; 检查相应的手册 您的MySQL服务器版本 使用near的正确语法 “.student_id='3'和teach.section”= 第3.1节编号和 第1行的章节.讲师id=ins' , 顺便说一句,我是用PhpMyAdmin写的,这是我的工作 应用服务器:Sun GlassFish企业服务器v2.1 请帮帮我Java 是什么导致此MySQLSyntaxError异常?,java,mysql,exception,jsp,Java,Mysql,Exception,Jsp,我编写这个查询(在java类中)是为了从MySQL数据库中选择一些信息 并在jsp页面上查看它 从中选择讲师名称 讲师、部门、教授地点 teach.student\u id='3'和teach.section =section.number和section.讲师\u id=讲师.id 但也有例外发生 javax.servlet.ServletException: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 您的SQL语法有错误; 检查
关于您需要在
'3'
后面加一个空格。似乎缺少一个空格。student_id='3'和->'。student_id='3'和如果您的查询与您显示的完全相同:
SELECT instructor.name FROM instructor,section,teach WHERE teach.student_id='3'AND
teach.section = section.number AND section.instructor_id= instructor.ID
然后您需要在上面显示的第一行的'3'
之后、之前和之前留一个空格。什么是“teach.student\u id”的数据类型?它是数字还是varchar。如果是数字,则无需将“3”放在单引号内。
例如
teach.student_id=3谢谢大家
我是这样在java类中编写查询的
结果集
=stmt.executeQuery(“选择讲师.name”+
“来自讲师、部门、教师”+
“WHERE teach.student_id=“+”“+idd+””+
“和teach.section=section.number
和第1.1.1节讲师id=
教师身份证)
然后我消除所有行,把查询放在一行中,就像这样,然后它就解决了
问候谢谢Alex。。我解决了这个问题,我用错误的方式用java编写查询。你应该研究如何执行参数化查询,这样你就不必处理所有这些字符串操作,从而避免这些类型的错误。这样做会使你自己暴露在sql注入攻击之下。使用PreparedStatement。