Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/50: Рейтинг темы: голосов - 50, средняя оценка - 4.66
6 / 3 / 0
Регистрация: 09.01.2012
Сообщений: 296

Указание data = null для MySQL

02.07.2012, 14:34. Показов 9823. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать так что бы при insert-е если мы поле дата не заполнено в таблицу записывался как null?
он по умолчанию пишет 0000-00-00

В самой таблице это поле я обозначил как по умолчанию NULL, но это не помогает!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.07.2012, 14:34
Ответы с готовыми решениями:

NULL в php и mysql
Всем привет. Есть 2 переменные $source и $userid. Не важно откуда я в них кладу информацию, но в них может быть число или NULL. В данный...

При редактировании формы выбираю значение, а в MySQL уходит NULL
Приветствую! Есть таблица контрагентов: Если нажимаю на редактировать, то перехожу в форму, которая корректно вносит изменения,...

Указание отсутствия заливки в ClosedXML и проверка на null
Помогите сделать проверку на Null. А то выдает ошибку "Необработанное исключение типа "System.NullReferenceException" в...

11
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
02.07.2012, 14:51
Можешь его не перечислять в SQL разпросе... INSERT INTO tab SET col1=.....,col2=..... и т.д., но data не указывай. Тогда будет установлена в default, который ты указал как NULL.
Либо можешь явно указать
MySQL
1
INSERT INTO tab SET data=NULL
Если значения берёшь из PHP, то проверяй, не пустая ли переменная... и если пустая, тогда надо передавать NULL (но без кавычек). В общем, тут зависит от того, как именно работаешь с БД.
0
6 / 3 / 0
Регистрация: 09.01.2012
Сообщений: 296
02.07.2012, 15:01  [ТС]
А можно типа так
if(isset($_REQUEST[data])) и дальше он будет говорить если не пустой то пусть пишет дату, в противном случаи null ?
Если можно как правильно это написать?
0
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
02.07.2012, 15:22
Если ты используешь mysql_query, то можно так:
PHP
1
2
3
4
5
6
7
8
9
10
if (isset($_REQUEST['data']))
  $data = addslashes($_REQUEST['data']); // обязательно экранируем спецсимволы, что бы исключить инъекцию
else
  $data = '';
if ($data=='') // если переменная $data бустая
  $data = "NULL"; // тогда NULL
else
  $data = "'$data'"; // иначе обрамляем кавычками
 
mysql_query("INSERT INTO tab SET data=$data");
0
6 / 3 / 0
Регистрация: 09.01.2012
Сообщений: 296
02.07.2012, 15:44  [ТС]
не помогло!! жаль!
0
6 / 3 / 0
Регистрация: 09.01.2012
Сообщений: 296
08.07.2012, 16:48  [ТС]
Написал так, не работает! Если не так то как?
PHP
1
if (isset($_POST['date_ust_ter'])) { $date_ust_ter = $_POST['date_ust_ter'];} else $date_ust_ter = "NULL";
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
08.07.2012, 17:20
Цитата Сообщение от cibin Посмотреть сообщение
if (isset
поменяйте isset на !empty
вы проверяете на существование (а раз форма отправлена - то все данные существуют).
вам надо проверять не на существование, а именно на пустоту. вот вам пример:
HTML5
1
<form method="post"><input type=text name=text><input type=submit name=btn></form>
PHP
1
2
3
4
5
6
7
8
9
if(isset($_POST['btn']))
{ //проверка с пустым полем ввода:
$text=$_POST['text'];
echo "Неправильная проверка пустоты, а вернее проверка на существование: <BR>";
echo (isset($text))?"OK":"FAIL"; //выведет ОК, существует значиццо
echo "<BR><BR>";
echo (empty($text))?"OK":"FAIL"; //выведет ОК, ПУСТАЯ - то есть вам надо наоборот, !empty вместо empty
echo (!empty($text))?"Не пустая":"Пустая"; // теперь все правильно
}
0
6 / 3 / 0
Регистрация: 09.01.2012
Сообщений: 296
08.07.2012, 18:13  [ТС]
Я похоже не правильно Вас понял, но получилось так:
Форма:
HTML5
1
<input name="date_ust_ter" type="text" value="" />
PHP
PHP
1
2
if (!empty($_POST['date_ust_ter'])) 
{ $date_ust_ter = $_POST['date_ust_ter'];} else $date_ust_ter = "NULL";
Видать не так Вас понял так как не получается!
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
08.07.2012, 18:19
Цитата Сообщение от cibin Посмотреть сообщение
PHP
1
else $date_ust_ter = "NULL";
кавычки уберите

Добавлено через 55 секунд
NULL != "NULL"
0
6 / 3 / 0
Регистрация: 09.01.2012
Сообщений: 296
08.07.2012, 23:10  [ТС]
PHP
1
2
if (!empty($_POST['date_ust_ter'])) 
{ $date_ust_ter = $_POST['date_ust_ter'];} else $date_ust_ter = NULL;
Правильно? Не помогло!
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
08.07.2012, 23:38
извиняюсь. не подумал, что не будет работать.. надо без кавычек чтобы записалось именно NULL, а оно в запросе не проходит.. т.е. так не получится. вот так сделайте:
PHP
1
2
3
if (!empty($_POST['date_ust_ter'])) 
{ $query= "INSERT INTO ... Values(...., {$_POST['date_ust_ter']})";} 
else $query = "INSERT INTO ... VALUES (....., NULL)";
1
6 / 3 / 0
Регистрация: 09.01.2012
Сообщений: 296
09.07.2012, 06:58  [ТС]
Блин, точно..... жаль больше одного нельзя ставить!
По идеи там стоит условие и могу поставить 2 случая исполнение sql скрипта! Вот тугодум надо было догадаться!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.07.2012, 06:58
Помогаю со студенческими работами здесь

Блин, для ЧЕГО НУЖНА Функция CREATE TABLE invoice( inv_id INT AUTO_INCREMENT NOT NULL , usr_id INT NOT NULL , prod_id INT NOT NULL , quantity INT NOT
Погуглив, так и не смог толком понять. Есть тут ГУРУ по mysql Которые могут на пальцах или на примере показать для чего она нужна. ...

Исключение "Column contains NULL data" при заполнении полей на форме
Здравствуете. Пытаюсь извлечь данные из БД (Oracle), и разместить полученные значения в textbox'ы. Все работает нормально, за исключением...

С# и mySQL Data Connection
Есть программа в которой используется подключение и отображенеи базы данных MySQL через MySQL.Data Connector ...

Работа с mysql. Sum() дает Null.
Работаю с umysqlclient. Нужно выбрать сумму чего либо, но если суммировать нечего, то, как я понимаю, результат Null. Но когда результат...

Как обработать NULL из таблицы mysql?
Господа, подскажите плж как обработать значение NULL из мускла. есть такой код: While reader.Read() LC = 37 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru