Здравствуйте! Есть таблица в БД, с типом date
c разрешенным значением NULL
.
Через страничку администрирования PHP пишу:
$date1 = $_POST['date1_input'];
echo $date1;
Значение пустое (нулевое).
При вставке
$sql2 = "UPDATE record SET dtstamp1='$date1' WHERE id='$id' LIMIT 1";
$result2 = mysqli_query($connection, $sql2);
Выходит ошибка:
Incorrect date value: '' for column 'dtstamp1' at row 1 ( 1292 ).
На странице редактирования разместил инпут с типом дата, т.е. календарь -
<input type="date" name = "date1_input" autocomplete="off" value = "">
Не могу понять, данные я не ввожу, т.е. дату не выбираю. При проверке значение пустое (нулевое), нулевое значение разрешено. Почему возникает ошибка?
Если в mysqli всё примерно такое же, как в PDO, то...
$sql2 = "UPDATE record SET dtstamp1=? WHERE id=? LIMIT 1";
$stmt = mysqli_prepare($connection, $sql);
$stmt->bindParam('si',$date1,$id);
$result2 = $stmt->execute();
И передавайте что хотите. Вроде как говорят, что null воспринимается корректно при указании любого из поддерживаемых mysqli типов.
P.S. не совсем понял только, зачем получаете результат выполнения этого запроса - какую-то полезную проверку затем делаете? Если нет - перестаньте так делать. Серьезно.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как в WordPress поменять Featured Image для всех постов на 1 изображение а посте?
Есть на сайте авторизация через соц сетиЧерез гугл все проходит нормально, но через фейсбук выдает эту ошибку,
ЗдравствуйтеИмеется такая задача: 1) Проверить есть ли доступ к устройству