Простым UPDATE не получается. Если поле имеет тип DATE, то заносится 0000-00-00, а не NULL.
Спустя 7 минут, 31 секунда (21.10.2011 - 15:00) Renden написал(а):
boomber
Я бы на твоем месте просто ничего бы не заносил, например так:
UPDATE tbl SET myDate=null
Я бы на твоем месте просто ничего бы не заносил, например так:
$sql = !empty($_POST['date']) ? " myDate= '".mysql_real_escape_string($_POST['date']) "'" : '';
mysql_query("UPDATE bla-bla SET a='b' $sql");
Спустя 9 минут, 57 секунд (21.10.2011 - 15:10) boomber написал(а):
А можно чуть пояснить?
$sql = !empty($_POST['date']) ? " myDate= '".mysql_real_escape_string($_POST['date']) "'" : '';Это проверка поля на пустоту?
Спустя 1 минута, 30 секунд (21.10.2011 - 15:12) m4a1fox написал(а):
boomber
Цитата |
Это проверка поля на пустоту? |
По сути - да!
Спустя 1 минута, 16 секунд (21.10.2011 - 15:13) Renden написал(а):
boomber
ну да, если приходящий пост не пустой то добавляем в запрос строку myDate=$_POST['date'], иначе ниче не добавляем..
Зы точку забыл после ($_POST['date']).
ну да, если приходящий пост не пустой то добавляем в запрос строку myDate=$_POST['date'], иначе ниче не добавляем..
Зы точку забыл после ($_POST['date']).
Спустя 6 минут, 43 секунды (21.10.2011 - 15:20) boomber написал(а):
Цитата (Renden @ 21.10.2011 - 12:13) |
boomber ну да, если приходящий пост не пустой то добавляем в запрос строку myDate=$_POST['date'], иначе ниче не добавляем.. Зы точку забыл после ($_POST['date']). |
Я такой конструкцией не пользовался, у меня задачи попроще.
То есть, если у меня еще есть поля, которые не пустые, то я в случае "пустоты" выполняю один запрос (обновляю только непустые поля), в обратном случае другой запрос (обновляю все поля), я правильно понял?
Точку, да, увидел.
Спустя 16 минут, 30 секунд (21.10.2011 - 15:36) Renden написал(а):
boomber
Ну да, ты просто дописываешь в него нужное, а в конце выполняешь 1 запрос.
Зы эта конструкция аналогична этому:
Ну да, ты просто дописываешь в него нужное, а в конце выполняешь 1 запрос.
Зы эта конструкция аналогична этому:
$sql = '';
if(!empty($_POST['date']))
$sql .= " myDate= '".mysql_real_escape_string($_POST['date'])."'";
else
$sql .= '';
Спустя 33 минуты, 26 секунд (21.10.2011 - 16:10) boomber написал(а):
Использовал немного другую конструкцию.
Правда завязка идет на проверку сразу всех трех значений, но мне другоуго и не надо.
Спасибо за наводку :).
if (empty($i1) and empty($i2) and empty($i3)) {$query='UPDATE//целевым полям присвоил null//;} else {
$query='UPDATE... все поля, включая эти три...;}
Правда завязка идет на проверку сразу всех трех значений, но мне другоуго и не надо.
Спасибо за наводку :).