Good day Programmers. this code uploads image to database while other forms input like name and city returns null. what do i do
here is the code
<%@ page import="java.sql.*" %>
<%@ page import="org.apache.commons.fileupload.*"%>
<%@ page import="org.apache.commons.io.output.*"%>
<%@ page import="org.apache.commons.fileupload.servlet.*"%>
<%@ page import="org.apache.commons.fileupload.disk.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%
Connection connection;
response.setContentType("text/html");
PrintWriter pw = response.getWriter();
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/goodness","mutago", "mutago56");
byte[] b=null;
try{
String name = request.getParameter("name");
String city = request.getParameter("city");
PreparedStatement psImageInsertDatabase= connection.prepareStatement("insert into pict1 (image,name,city)values(?,?,?)");
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload sfu = new ServletFileUpload(factory);
List items = sfu.parseRequest(request);
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (!item.isFormField())
{
String fname = item.getFieldName();
String fvalue = item.getString();
if (fname.equals("name"))
name = fvalue.toString();
if (fname.equals("city"))
city = fvalue.toString();
b = item.get();
}
}
psImageInsertDatabase.setBytes(1,b);
psImageInsertDatabase.setString(2,name);
psImageInsertDatabase.setString(3,city);
int i = psImageInsertDatabase.executeUpdate();
if(i!=0){
pw.println("<br>Record has been inserted successfully");
}
else{
pw.println("failed to insert the data");
}
}
catch(Exception e)
{
pw.println(e);
e.printStackTrace();
response.sendRedirect("cat.jsp");
}
%>
Thanks