Welcome Guest, Not a member yet? Register   Sign In
how to handle this database error im using postgresql?
#1

[eluser]firstimer04[/eluser]
A Database Error Occurred

Error Number:

ERROR: invalid input syntax for integer: "" LINE 1: ...item(request_no,item_no,qty_requested) values ('45','10','') ^

insert into requested_item(request_no,item_no,qty_requested) values ('45','10','')

My question is how to handle this error if the user miss to fill the input fields of qty_requested? here's my code:

Code:
<h3>Request New Items</h3>
<table height="87" border="">
    <tr>
        <td height="25">Item Name</td>
        <td>Description</td>
        <td>Qty.&nbsp;On&nbsp;Hand</td>
        <td>Qty.&nbsp;Ordered</td>
        <td>Pending&nbsp;Request</td>
        <td>Request&nbsp;Qty</td>
    </tr>
    &lt;?php echo form_open('staff/do_request'); ?&gt;
        &lt;?php if($items->num_rows() > 0) { foreach($items->result() as $row) { ?&gt;
      <tr>
         <td height="28">&lt;input type="checkbox" name="item_no[]" value="&lt;?php echo $row-&gt;item_no; ?&gt;">&lt;?php echo $row->item_name; ?&gt;</td>
        <td>&lt;?php echo $row->description; ?&gt;</td>
        <td align="center">&lt;?php echo $row->qty_onhand; ?&gt;</td>
        <td align="center">&lt;?php echo $row->qty_onorder; ?&gt;</td>
        <td align="center">&lt;?php echo $row->qty_requested; ?&gt;</td>
        <td>&lt;input size="10" type="text" id="&lt;?php echo $row-&gt;item_no; ?&gt;" name="&lt;?php echo $row->item_no; ?&gt;"  value="" /></td>
    </tr>
         &lt;?php }} ?&gt;
  
      <tr>
         <td height="30">&lt;input type="submit" value="Submit Request" /&gt;&lt;/td>
    </tr>
</table>
#2

[eluser]smilie[/eluser]
In your controller which saves the data, check if qty_requested is filled in and if not do not pass it to query...?

Regards,
Smilie
#3

[eluser]firstimer04[/eluser]
sir thank you for your response, but i try to not pass the query but there nothing happened, i put function else you can see below below of my code
what are the function I'm gonna do and where i put? thank you for any response..
here's the code of my controller:

Code:
function do_request()
    {
        if($this->valid_user())
        {
            $staff = $this->session->userdata('userid');
            $query = "insert into request(staff_id) values('$staff')";
            $this->db->query($query);
            $request_no = $this->req_id();
            
            //checked items
            $items = $this->input->post('item_no');
            
            //for each checked item, quantity value
            foreach($items as $item)
            {
                $qty = $this->input->post($item);
                $in_request_item = "insert into requested_item(request_no,item_no,qty_requested) values ('$request_no','$item','$qty')";
                //query requested item
                $this->db->query($in_request_item);
                
                //update requested quantity in item table
                    
            }
            
            //requested items load view page
            $query_review = "select ri.item_no,i.item_name, i.description, ri.qty_requested from requested_item ri, item i where ri.request_no = '$request_no' and ri.item_no = i.item_no";
            $data['items'] = $this->db->query($query_review);
            
            $query_request = "select * from staff s, request r where r.request_no = '$request_no' and r.staff_id = s.staff_id";
            $data['request_info'] = $this->db->query($query_request);
            
            $this->load->view('staff/requested_items',$data);
        }
          
      else
          {
        $this->load->view('staff/index',$data);
          }
    }
#4

[eluser]firstimer04[/eluser]
please do help me with this problem thank you!
#5

[eluser]WanWizard[/eluser]
As suggested before: do not use form information like that.

Instead, use the Form validation library to validate all posted fields. Then there's no need to capture these kind of errors, since you know all fields are validated and correct.




Theme © iAndrew 2016 - Forum software by © MyBB