Вставка в mysql из php сохраняет поле даты как 00 :00 :00 вместо NULL

Я получаю через POST следующие переменные, иногда это должна быть дата, а иногда она должна быть нулевой (, например, если это событие еще не произошло)

$hora_entrada = $_POST['hora_entrada'];
$salida_comida = $_POST['salida_comida'];
$regreso_comida = $_POST['regreso_comida'];
$hora_salida = $_POST['hora_salida'];

поэтому я присваиваю NULL переменным, если POST пуст:

if ($hora_entrada == '') {$hora_entrada = "NULL";}
if ($salida_comida == '') {$salida_comida = "NULL";}
if ($regreso_comida == '') {$regreso_comida = "NULL";}
if ($hora_salida == '') {$hora_salida = "NULL";}

теперь я хочу вставить значения в таблицу mysql:

UPDATE  `nomina`.`registro_tiempo` SET  
`hora_entrada` =  '$hora_entrada',
`salida_comida` =  '$salida_comida',
`regreso_comida` =  '$regreso_comida',
`hora_salida` =  '$hora_salida',
WHERE  `registro_tiempo`.`id_tiempo` ='$id_tiempo';
") or die (mysql_error());

проблема в том, что когда переменная равна NULL, запись говорит 00 :00 :00, и я хочу оставить ее NULL

Я безуспешно пытался присвоить NULL двумя способами:

$variable = NULL;

$variable = "NULL";

ПРИМЕЧАНИЕ. :Поля MySql имеют значение NULL как предопределенное.

¿Знаете ли вы какой-либо другой способ сделать это? Я буду признателен за вашу помощь

5
задан yenssen 27 July 2012 в 18:43
поделиться