-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> Apply Now!
</button>
</div> <!--end of form-group-->
</form> <!--end of form-->
錯誤是自我解釋 –
$辦公室= $行[「部門」]爲空,所以請你爲什麼在表「tbl_profile有''列'部門'null –
它仍然是一個錯誤,即使我刪除了$ office = $ row ['dept']錯誤依然消失@DanIonescu –