2017-03-08 139 views
-1

SQLSTATE [23000]:完整性約束違規:1048列 '辦公室' 不能爲空 說明:未定義指數:indatef在C:\ xampp \ htdocs \ Thesis_New_Layout \ emp_apply_leave.php on line 38SQLSTATE [23000]:完整性約束違規:1048列 '辦公室' 不能爲空

我正確綁定並調用變量,但仍然有錯誤。這是我的代碼:

require_once('database_action.php'); 
$storage = new storage(); 

require_once ('crud_database.php'); 
$query = "SELECT * FROM tbl_profile "; 
$stmt = $con->prepare($query); 
$stmt->execute(); 

$row=$stmt->fetch(PDO::FETCH_ASSOC); 

if(isset($_POST['btn-save'])) 
{ 
    $empid = $userRow['user_name']; 
    $office = $row['dept']; 
    $fname = $row['fname']; 
    $lname = $row['lname']; 
    $mname = $row['mname']; 
    $dfiling = strip_tags($_POST['dfiling']); 
    $position = $row['position']; 
    $salary = strip_tags($_POST['salary']); 
    $ltype = strip_tags($_POST['ltype']); 
    $spent = strip_tags($_POST['spent']); 
    $specify = strip_tags($_POST['specify']); 
    $for_app = strip_tags($_POST['for_app']); 
    $indatef = strip_tags($_POST['indatef']); 
    $indatet = strip_tags($_POST['indatet']); 
    $approval = "0%"; 



if($storage->saveleave($empid,$office,$fname,$lname,$mname,$dfiling,$position,$salary,$ltype,$spent,$specify,$for_app,$indatef,$indatet,$approval)) 
{ 
    $storage->redirect('emp.php?joined'); 
} 

database_action.php

public function saveleave($empid,$office,$fname,$lname,$mname,$dfiling,$position,$salary,$ltype,$spent,$specify,$for_app,$indatef,$indatet,$approval) 
{ 
    try 
    { 

     $stmt = $this->conn->prepare("INSERT INTO tbl_leave (empid,office,fname,lname,mname,dfiling,position,salary,ltype,spent,specify,for_app,indatef,indatet,approval) 
                VALUES(:empid, :office, :fname, :lname, :mname, :dfiling, :position, :salary, :ltype, :spent, :specify, :for_app, :indatef, :indatet, :approval)"); 

     $stmt->bindparam(":empid", $empid); 
     $stmt->bindparam(":office", $office);        
     $stmt->bindparam(":fname", $fname);         
     $stmt->bindparam(":lname", $lname);        
     $stmt->bindparam(":mname", $mname);        
     $stmt->bindparam(":dfiling", date('Y-m-d',strtotime($dfiling)), PDO::PARAM_STR); 
     $stmt->bindparam(":position", $position); 
     $stmt->bindparam(":salary", $salary); 
     $stmt->bindparam(":ltype", $ltype); 
     $stmt->bindparam(":spent", $spent); 
     $stmt->bindparam(":specify", $specify); 
     $stmt->bindparam(":for_app", $for_app); 
     $stmt->bindparam(":approval", $approval); 
     $stmt->bindparam(":indatef",date('Y-m-d',strtotime($indatef)), PDO::PARAM_STR); 
     $stmt->bindparam(":indatet",date('Y-m-d',strtotime($indatet)), PDO::PARAM_STR); 

     $stmt->execute(); 

     return $stmt; 
    } 
    catch(PDOException $e) 
    { 
     echo $e->getMessage(); 
    } 


} 

我的表單代碼

<form method="POST" class="form-save"> 
      <div class="col-md-6"> 
       <div class="form-group"> 
        <label for="email">Date of Filing:</label> 
        <div class="input-group"> 
         <input type="text" class="form-control" id="date1" data-select="date" required placeholder="Date of Filing" name="dfiling" /> 
        <span class="input-group-btn"> 
        <button class="btn btn-default" type="button" data-toggle="select"><i class="fa fa-calendar"></i></button> 
        </span> 
        </div> 
        <label>Salary:</label> 
        <input type="text" class="form-control" name="salary" required placeholder="salary"> 
        <label>Type of Leave:</label> 
        <select class="form-control" name="ltype"> 
        <option hidden >...</option> 
        <option>Vacation</option> 
        <option>To seek Employment</option> 
        <option>Sick</option> 
        <option>Maternity</option> 
        <option>Other (Specify)</option> 
        </select> 
        <label>Where Leave will be Spent:</label> 
        <select class="form-control" name="spent"> 
        <option hidden >...</option> 
        <option>Within the Philippines</option> 
        <option>Abroad(specify)</option> 
        <option>In Hospital (specify)</option> 
        <option>Out Patient (specify)</option> 
        </select> 


       </div> 
      </div> 

      <div class="col-md-6"> 
       <div class="form-group"> 
       <label>Specify:</label> 
       <textarea class="form-control" name="specify" required placeholder="Specify"></textarea> 
       <label>Number of Days Applies:</label> 
       <input type="text" class="form-control" name="for_app" required placeholder="For"> 
        <label>Inclusive Date From:</label> 
        <div class="input-group"> 
         <input type="text" class="form-control" id="date2" data-select="date" required placeholder="Date" name="indatef" /> 
         <span class="input-group-btn"> 
         <button class="btn btn-default" type="button" data-toggle="select"><i class="fa fa-calendar"></i></button> 
         </span> 
        </div> 

        <label>Inclusive Date To:</label> 
        <div class="input-group"> 
         <input type="text" class="form-control" id="date3" data-select="date" required placeholder="Date" name="indatet" /> 
         <span class="input-group-btn"> 
         <button class="btn btn-default" type="button" data-toggle="select"><i class="fa fa-calendar"></i></button> 
         </span> 
        </div> 

       <br clear="all"> 

       </div> 
      </div> 
       <div class="form-group"> 
        <button type="submit" class="btn btn-default" name="btn-save" style="float: right;"> 
         <i class="fa fa-check"></i>&nbsp;Apply Now! 
        </button> 
        </div> <!--end of form-group--> 
       </form> <!--end of form--> 
+2

錯誤是自我解釋 –

+0

$辦公室= $行[「部門」]爲空,所以請你爲什麼在表「tbl_profile有''列'部門'null –

+0

它仍然是一個錯誤,即使我刪除了$ office = $ row ['dept']錯誤依然消失@DanIonescu –

回答

1

表中的所有記錄tbl_profile有場部門 null或空

嘗試使用var_dump($office)

+0

我可以知道var_dump的用途是什麼嗎? @布魯諾亨利 –

相關問題