如果字段为空或!空运行查询并且不显示空字段的错误

时间:2013-08-28 18:50:08

标签: php mysql sql

我有3种不同形式的3种手风琴,但查询是一种。 if (!empty($_POST)此查询,然后提交表单。但是它显示了其他形式的错误 online blah blah blah blah is error 。它显示空字段的此错误。

有没有办法隐藏字段的错误消息?

if(!empty($_POST)){

        $sql = "
            INSERT INTO 
            leave_req
            (
              `lvm_type`,
              `lvm_do`,
              `lvm_db`,
              `lvm_td`,
              `lvc_type`,
              `lvc_do`,
              `lvc_db`,
              `lvc_td`,
              `lvo_type`,
              `lvo_do`,
              `lvo_db`,
              `lvo_td`,
              `lvn_type`,
              `lvn_do`,
              `lvn_db`,
              `lvn_td`,
              `lv_reason`,
              `lv_usign`,
              `lv_rsign`,
              `lv_asign`,
              `lv_sec`,
              `lv_ip`,
              `lv_cdate`
            )
            values
            (
                '".addData($_POST['altype'])."',
                '".addData($_POST['aleave1'])."',
                '".addData($_POST['aleave2'])."',
                '".addData($_POST['altotal'])."',
                '".addData($_POST['cltype'])."',
                '".addData($_POST['cleave1'])."',
                '".addData($_POST['cleave2'])."',
                '".addData($_POST['cltotal'])."',
                'null',
                'null',
                'null',
                'null',
                'null',
                'null',
                'null',
                'null',
                'null',
                'null',
                'null',
                'null',
                'null',
                '".$ip."',
                now()
            )";
         echo "message submitted successfully";
         } else {
         echo "check your form"; }

2 个答案:

答案 0 :(得分:1)

试试这个

if (isset($_POST['form1']) or
    isset($_POST['form2']) or
    isset($_POST['form3']) )
{
    ...
}

答案 1 :(得分:1)

解决此问题的一个好方法是将isset()与三元运算符结合使用。基本上,您的三元运算符将评估其中一个给定值,即相应的$_POST字段或null。如果存在设置$_POST字段,则会将其作为查询的一部分,如果不是null,则会使用该字段。

<?php
if(!empty($_POST)){
    $sql = "
        INSERT INTO 
        leave_req
        (
          `lvm_type`,
          `lvm_do`,
          `lvm_db`,
          `lvm_td`,
          `lvc_type`,
          `lvc_do`,
          `lvc_db`,
          `lvc_td`,
          `lvo_type`,
          `lvo_do`,
          `lvo_db`,
          `lvo_td`,
          `lvn_type`,
          `lvn_do`,
          `lvn_db`,
          `lvn_td`,
          `lv_reason`,
          `lv_usign`,
          `lv_rsign`,
          `lv_asign`,
          `lv_sec`,
          `lv_ip`,
          `lv_cdate`
        )
        values
        (
            '" . (isset($_POST['altype']) ? addData($_POST['altype']) : 'null') . "',
            '" . (isset($_POST['aleave1']) ? addData($_POST['aleave1']) : 'null') . "',
            '" . (isset($_POST['aleave2']) ? addData($_POST['aleave2']) : 'null') . "',
            '" . (isset($_POST['altotal']) ? addData($_POST['altotal']) : 'null') . "',
            '" . (isset($_POST['cltype']) ? addData($_POST['cltype']) : 'null') . "',
            '" . (isset($_POST['cleave1']) ? addData($_POST['cleave1']) : 'null') . "',
            '" . (isset($_POST['cleave2']) ? addData($_POST['cleave2']) : 'null') . "',
            '" . (isset($_POST['cltotal']) ? addData($_POST['cltotal']) : 'null') . "',
            'null',
            'null',
            'null',
            'null',
            'null',
            'null',
            'null',
            'null',
            'null',
            'null',
            'null',
            'null',
            'null',
            '".$ip."',
            now()
        )";
        echo "message submitted successfully";
 } else {
    echo "check your form"; }
 ?>