В базе данных есть столбец time с типом time, никак не могу записать в него NULL если ничего не приходит
public function add_task($user_id, $date, $task_arr){
$time = 'NULL';// КОНСОЛЬ ЛОГ ВЫВОДИТ null НО В бд ДОБАВЛЯЕТ 00:00:00
$time = NULL;// КОНСОЛЬ ЛОГ ничего не выводит НО В бд ДОБАВЛЯЕТ 00:00:00
//ЕСЛИ НАПРЯМУЮ В ЗАПРОСЕ ПИШУ NULL ТО ДОБАВЛЯЕТ ВСЕ НОРМАЛЬНО null
//ЕСЛИ В ЗАПРОСЕ ПИШУ '$TIME' OR NULL ТО ЕСЛИ ПУСТАЯ СТРОКА ТО ВСЕ ОК ДОБАВЛЯЕТ NULL
//А ЕСЛИ СТРОКА СО ВРЕМЕНЕМ ТО ДОБАВЛЯЕТ 00:00:01
$task = $task_arr['task_name'];
$sql = mysql_query("INSERT INTO `tasks` (`for_user_id`, `time`, `date`, `task`) VALUES ('$user_id', '$time', '$date', '$task')") or die(mysql_error());
print_r($time);
}//end add_task
Посмотри на класс PDO http://php.net/manual/ru/class.pdo.php
Твоя проблема в нем решится так:
$sth = $dbh->prepare('INSERT INTO `tasks` (`for_user_id`, `time`, `date`, `task`) VALUES (:user_id, :time, :date, :task)');
$sth->execute([
':user_id' => $user_id,
':time' => $time,
':date' => $date,
':task' => $task,
]);
Почему не стоит использовать функции семейства mysql_query:
Можете по другому сделать. Столбец поставьте с значением по умолчанию null а когда вводите ряд, то забудьте про этот столбец.
Или попробуйте в переменную написать null не заглавными буквами.
Ещё не забудьте убрать кавычки:
"INSERT INTO `tasks` (`for_user_id`, `time`, `date`, `task`) VALUES ('{$user_id}', {$time}, '{$date}', '{$task}')"
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости