'SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'name' cannot be null
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'name' cannot be null (SQL: insert into
products(name,type,img_url,updated_at,created_at) values (, , img/products/IMG-20170921-WA0003.jpg, 2017-11-24 15:31:41, 2017-11-24 15:31:41))
PHP Code
 public function Products(Request $request){
        if($request->isMethod('post'))
        {
              if(Input::hasFile('file')){
                  $myproduct = new Product();
                  $myproduct->name=$request->input('name');
                  $myproduct->type=$request->input('type');
                  $file = Input::file('file');
                  $url='img/products/'.$file->getClientOriginalName();
                  $file->move('img/products',$file>getClientOriginalName());
                  $myproduct->img_url = $url;
                  $myproduct->save();
                  return view("controlpanel.products");
            }
      }}
HTML
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <table>
      <tr>
        <form action="{{ URL('products') }}" method="post" enctype="multipart/form-data"  class="container">
      <td>
         <label for="name">Product Name</label>
         <input type="text" name="name" class="form-control" id="name" required>
        </td>
        <td>
           <label for="type">Product Type</label>
           <select class="form-control" name="type" id="type">
              <option value="type1">type 1</option>
            <option value="type2">type 2</option>
           </select>
        </td>
        <td>
          <label for="file">Select Product image :</label>
          <input type="file" name="file" id="file">
        </td>
        <td>
          <input type="submit" value="Upload" name="submit" id="sub1">
          <input type="hidden" value="{{ csrf_token() }}" name="_token">
        </td>
    </form>
      </tr>
    </table>
  </body>
</html>
So both Column name & type getting null except img_url, i don't know why? please help
Solution 1:[1]
I am assuming that you are using laravel. To get value of input you can try this code for your name and type field.
$myproduct->name=$request->name;
$myproduct->type=$request->type;
    					Solution 2:[2]
i had the same problem, but problem the name of the table was not the same as the name on the form...
$todo->todo = $request->todo;
Solution 3:[3]
yea I faced the same issue with laravel,I had to change my database to nullable then the request went through....going back to my code and adding dd($article),it shows that the form field was empty. I inspected the form field and noticed that the names are not matching with that of the table during migration.
Solution 4:[4]
if you used laravel then clear the catch using PHP artisan optimize: clear then re-run the project, because some catch create such a problem
Solution 5:[5]
One of the reason is that when you declare the variable in inverted comma then check that you are giving space in the declaration as shown in the example ' name' then it will show error:
$profileName = $request->input('  name'); ? you have seen that I have given space in variable declare, so, therefore, I have face such a problem whenever you declare variable make sure you should not give space by mistake 
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source | 
|---|---|
| Solution 1 | Suman B | 
| Solution 2 | Steve Muambi | 
| Solution 3 | Slycreator | 
| Solution 4 | Nikunj Shah | 
| Solution 5 | h3t1 | 

