Как записать массив в БД?
Для начала попробуйте научиться оформлять пост. 
сухой текст без подсветки читать не будут.
вы побывали гуглить свою ошибку? Тут ведь явно указанно что не так.1062 Duplicate entry '2498' for key 'PRIMARY'' in 
Если уж совсем лень и не знаете другого языка как только русский, можно воспользоваться переводчиком.
1. создаем поле TEXT,  2. $data=json_encode($products), 3. пишем в базу, 4 читаем $data=json_decode(TEXT)