2012-10-12 207 views
-1

我正在开发一个普通的JSP网页,我必须从客户端获取反馈并存储在我的MYSQL数据库中。MySQL JDBC连接

本地主机上的Apache服务器的数据库连接运行时,运行良好,但在EATJ.com托管页面后不更新的数据库如预期,所以请我能获得帮助下面的代码?

代码:

<body> 
<%@page import="java.sql.*"%> 

<% 
String name=request.getParameter("name"); 
String email=request.getParameter("email"); 
String comment=request.getParameter("comment"); 
try{ 
String connectionURL = "jdbc:mysql://localhost:3306/pizza"; 

ResultSet rs=null; 
Connection con= null; 
Class.forName("com.mysql.jdbc.Driver").newInstance(); 
con = DriverManager.getConnection(connectionURL, "prakashd22", "*******"); 
Statement st = con.createStatement(); 
String sql = ("INSERT INTO feedback VALUES ('" + name + "','" + email + "','"+ comment +"') "); 
st.executeUpdate(sql); 
rs.close(); 
st.close(); 
con.close(); 
} 
catch(Exception e){out.print(e);} 
%> 
<jsp:include page="feed.jsp" /> 
</body> 
</html> 
+1

你能否给出关于错误的更多细节,也许堆栈跟踪?如果你的应用程序缺少mysqlj驱动程序(jar文件),那么Class.forName(“com.mysql.jdbc.Driver”)可能会崩溃。 –

+1

你会得到什么异常|? – MaVRoSCy

+1

这条线: 字符串SQL =( “INSERT INTO反馈VALUES('” +名称+ “ ''” +电子邮件+“”, ' “+评论+”')“); 是不正确的java句法括号不需要,删除它们。 此外,你不应该在任何生产网站使用此代码,因为它很容易受到SQL注入的影响。 请阅读有关Web应用程序中设计模式的信息。例如。 MVC - 模型视图控制器。并打印异常stacktrace或您不会得到任何错误消息。 – burna

回答

0

空ResultSet对象似乎是在路上,而你正在做的更新语句

rs.close(); 

保持自己的代码中分离出来是明智的。

+0

哦,是我删除,但仍然没有工作.. –

0

检查以下东西 1)检查com.mysql.jdbc.Driver是否存在

2)String connectionURL = "jdbc:mysql://localhost:3306/pizza"数据库是否存在于本地机器

3)如果数据库是你可能要在远程服务器上到GRANT权限访问该数据库http://dev.mysql.com/doc/refman/5.1/en/grant.html

并请堆栈跟踪!希望这可以帮助!

+0

我得到这个例外现在: - org.apache.jasper.JasperException:javax.servlet.ServletException:java.lang.NoClassDefFoundError:无法初始化类com.mysql.jdbc .StringUtils –