PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 4
highroller Отправлено: 24 Сентября, 2015 - 17:16:20 • Тема: null записывается в базу как ноль • Форум: Работа с СУБД

Ответов: 11
Просмотров: 2106
Всем спасибо за помощь Радость Видно глаз совсем замылен
Добавил проверку типа
if ($_POST['num']==null){$num="NULL";}else{$num=$_POST['num'];}
все заработало как надо!
Можно закрывать


P.S. Кавычки, как всегда кавычки...
Вот правильный запрос
$query="UPDATE `price1`.`misc` SET `num`=$num,`name`='$name',`price`=$price,`coefficient`=$coefficient WHERE `misc`.`id`='0001' LIMIT 1;";
highroller Отправлено: 24 Сентября, 2015 - 16:31:21 • Тема: null записывается в базу как ноль • Форум: Работа с СУБД

Ответов: 11
Просмотров: 2106
Вот дамп таблицы:


CREATE TABLE IF NOT EXISTS `misc` (
`id` int(4) unsigned zerofill NOT NULL AUTO_INCREMENT,
`num` int(11) DEFAULT NULL,
`name` text NOT NULL,
`price` int(11) DEFAULT NULL,
`coefficient` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

--
-- Дамп данных таблицы `misc`
--

INSERT INTO `misc` (`id`, `num`, `name`, `price`, `coefficient`) VALUES
(0001, NULL, 'item1', NULL, NULL),
(0002, NULL, 'item2', NULL, NULL);

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


Такой запрос непосредственно в консоли
UPDATE `price1`.`misc` SET `num`='null',`name`='item1',`price`='null',`coefficient`='null' WHERE `misc`.`id`='0001' LIMIT 1;
выдает вполне ожидаемые результаты, т. е. null в нужных полях.
А вот тот же запрос выполненный из php - уже нули
$query="UPDATE `price1`.`misc` SET `num`='".$num."',`name`='".$name."',`price`='".$price."',`coefficient`='".$coefficient."' WHERE `misc`.`id`='0001' LIMIT 1;";
mysql_query($query) or die("Запрос не выполнен!");
highroller Отправлено: 24 Сентября, 2015 - 12:50:53 • Тема: null записывается в базу как ноль • Форум: Работа с СУБД

Ответов: 11
Просмотров: 2106
LIME уже проверил, null разрешен, по умолчанию - null
Ноль точно не передается
Непосредственно перед запросом:
if ($num == null)echo 'TRUE'; результат - 'TRUE'
highroller Отправлено: 24 Сентября, 2015 - 12:35:51 • Тема: null записывается в базу как ноль • Форум: Работа с СУБД

Ответов: 11
Просмотров: 2106
Значит ситуация такова:
Есть таблица в которой значения полей в которой null
Есть набор переменных:
$id=$_POST['id'];}
$num=$_POST['num'];}
$price=$_POST['price'];}
$rarity=$_POST['rarity'];}
$sell=$_POST['sell'];}
$coef=$_POST['coef'];}

Есть запрос:
$query="UPDATE `$dbName`.`$table` SET `num`='".$num."',`price`='".$price."',`coef`='".$coef."' WHERE `$table`.`id`='".$id."' LIMIT 1;";

Значения всех переменных - null, но после выполнения запроса в базе я вижу '0' вместо 'null'. В чем может быть причина?

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB