@ganbatte

Как делают запрос в php, с пустым не пустым переменным, с датой с пустым параметром не работает?

Вот мой код
<?php
require('db.php');
echo $description1;
if(isset($_POST['new'])){
    $trn_date = date("Y-m-d H:i:s");
    $name =$_REQUEST['name'];
    $description = $_REQUEST['ID'];
    $description1 = $_REQUEST['inv'];
    $description2 = $_REQUEST['desc'];
    $description3 = $_REQUEST['datep'];
    $description4 = $_REQUEST['dateo'];
    $description5 = $_REQUEST['datapr'];
    $description6 = $_REQUEST['pr'];
    $description7 = $_REQUEST['NomerBox'];

    if ($description3==0)
    {
      $description3="1111-11-11";
      }
      if ($description4==0)
      {
        $description4="1111-11-11";
        }

   $ins_query="INSERT INTO `ZapravkaKartridj` (`ID`, `Инв. Номер`, `Описание`, `Дата подготовки`,
      `Дата отправки`, `Дата прибытия`, `Принесли ?`, `NomerBox`)
      VALUES (NULL, $description1, '$description2', '$description3', '2018-11-08', 'asdfasdf', b'1', '0')";
    mysqli_query($con,$ins_query)

   or die(mysql_error());

    //echo "запись добавлена!!";
    //header('Location: insert.php ');

mysqli_close($con);


}


?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Новая запись</title>
</head>
<body>
<h1>Добавить новую запись</h1>
<form name="form" method="post" action="">
<input type="hidden" name="new" value="1" />
<p><input type="text" name="inv" placeholder="Инв. Номер"  /></p>
<p><input type="text" name="desc" placeholder="Описание"  /></p>
<p><input type="text" name="datep" placeholder="Дата подготовки" /></p>
<p><input type="text" name="dateo" placeholder="Дата отправки"  /></p>
<p><input type="text" name="datapr" placeholder="Дата прибытия"  /></p>
<p><input type="text" name="pr" placeholder="Принесли ?" /></p>
<p><input type="text" name="NomerBox" placeholder="NomerBox"/></p>
<p><input name="submit" type="submit" value="Submit" /></p>

</form>
</body>
</html>


Проблема в этом запросе
INSERT INTO `ZapravkaKartridj` (`ID`, `Инв. Номер`, `Описание`, `Дата подготовки`,
      `Дата отправки`, `Дата прибытия`, `Принесли ?`, `NomerBox`)
      VALUES (NULL, $description1, '$description2', '$description3', '2018-11-08', 'asdfasdf', b'1', '0')


description3 это дата. Когда делаю post без даты (Дата подготовки), то не работает, выдает ошибку, а когда вставляю дату то работает, но со стринговыми параметрами проблем нет. Поэтому я сделал так чтобы если description3 будет пустым то присвоить ему 1111-11-11 но это костыль получается. Есть ли грамотное решение для этого ,
  • Вопрос задан
  • 180 просмотров
Пригласить эксперта
Ответы на вопрос 1
idShura
@idShura
Если тебе нужна пустая дата, то в поле description3 вставляй NULL. Вставлять пустые значения в поле с датой нельзя. Также можно хранить дату в виде "0000-00-00" (см. параметр NO_ZERO_DATE).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы