Возможно ли передать NULL при UPDATE TABLE?

85
13 декабря 2021, 11:00

У меня есть форма, которая при отсутствии значения переменной сессии вносит данные в таблицу, а иначе редкатирует соответствующую строку. Проблема в том, что при редактировании если я хочу установить поле пустым оно просто игнорируется, а не становится NULL. Как мне это реализовать?

Оработчик php:

<?php
session_start();
require_once '../mysql_connect.php';
$title =  trim(filter_var($_POST['title'], FILTER_SANITIZE_STRING));
$description =trim(filter_var($_POST['description'], FILTER_SANITIZE_STRING));
$price =filter_var($_POST['price'], FILTER_SANITIZE_NUMBER_FLOAT);
$price = ($price == '' ? NULL : filter_var($_POST['price'], FILTER_SANITIZE_NUMBER_FLOAT));
$error = '';
if(strlen($title) <= 3)
    $error = 'Введите название'; 
else if (strlen($description) <= 5)
    $error = 'Введите описание';
if($error != ''){
    echo $error;
    exit();
}
if(isset($_SESSION["ProjectID"])){
    $sql = "UPDATE `project` 
            SET `title` = '".$title."', `description` = '".$description."', `price` = '".$price."' 
            WHERE `ProjectID` = '" . $_SESSION['ProjectID'] . "'";
    $query = $pdo->prepare($sql);
    $query->execute();
}else{
    $sql = 'INSERT INTO project(title, description, date, author, price) VALUES (?,?,?,?,?)';
    $query = $pdo->prepare($sql);
    $query->execute([$title, $description, time(), $_COOKIE['login'], $price]);
    $_SESSION["ProjectID"] = $pdo -> lastInsertId();
}
echo 'Готово';

?>

READ ALSO
Table is marked as crashed and should be repaired

Table is marked as crashed and should be repaired

Периодически, где-то раз в неделю, отваливается mysqlВ логах пишет, что крашутся некоторые таблицы

207
yii2 удаление записи

yii2 удаление записи

пробую удалить запись, но вылазит такая вот ошибка "Error Call to a member function delete() on array"

235