duanbi6522 2017-03-08 12:03
浏览 85

SQLSTATE [23000]:完整性约束违规:1048列'office'不能为空

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'office' cannot be null Notice: Undefined index: indatef in C:\xampp\htdocs\Thesis_New_Layout\emp_apply_leave.php on line 38

I correctly bind and call the variable but it still have an error. This is my code:

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();
    }


}

my form code

<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-->
  • 写回答

1条回答 默认 最新

  • dongpin3794 2017-03-08 12:15
    关注

    Any record in the table tbl_profile has the field dept null or empty

    Try use var_dump($office)

    评论

报告相同问题?

悬赏问题

  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?