@DmitryOxi

Как добавить NULL из PHP в БД MySQL?

Друзья, подскажите.
При попытке ввода в БД выходит ошибка:
Incorrect integer value: '' for column 'nameN' at row 1.
Тип поля INT, проставлена возможность добавления NULL.
SQL пытается что-то добавить (не NULL), но и не int.
Исключить этот показатель не могу. Изменить просто тип на int = 0 тоже не вариант, так как по некоторым id он есть и важен по логике.

Как добавить NULL ? Как быть ?

$sql = "
	INSERT INTO users_units 
	SET 
	`date`='$date', 
	`name1`='$array1[name1]', 	
	`name2`='$array1[name2]', 
	........       ........
	`name30`='$array1[name30], 

	ON DUPLICATE KEY UPDATE 
	`date`='$date', 
	`name2`='$array1[name2]', 
	 ........       ........
	`name30`='$array1[name30]'
";


Еще один вопрос сразу, если позволите :) , как можно сократить код, занимает в итоге около 100 строк, а логика элементарна.
  • Вопрос задан
  • 989 просмотров
Пригласить эксперта
Ответы на вопрос 2
@galaxy
В SQL так и записывается SET `name1` = NULL ..., NULL - без кавычек.
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
Всегд выполняй запросы только через подготовленные выражения. Это решает сразу КУЧУ проблем, включая твои страдания с null.

По поводу же автоматизации, варианты есть, но сдается мне что в твоем случае вот эту ливерную колбасу из name1 - name30 надо порезать на кусочки и записать по-человечески в отдельные колонки. И тогда проблем автоматизировать запросы не будет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы