Задать вопрос
kshshe
@kshshe
Frontend developer

Почему иногда добавляются не все данные?

Есть такой код на одной из страниц сайта:
if (isset($_GET['seen']) && $uid) {
	$seen = explode('|||', $_GET['seen']);
	$values = array();
	foreach ($seen as $key => $value) {
                $value = intval($value);
		array_push($values, "($value, $uid)");
	}
	$DB->query('INSERT INTO ideas_seen (idea_id, user_id) VALUES '.implode(', ', $values));
}

$uid - ID пользователя, $_GET['seen'] - список элементов, которые надо отметить просмотренными. После эти данные используются в запросе в виде:
AND id NOT IN (SELECT idea_id FROM ideas_seen WHERE user_id=$uid)


Проблема в том, что иногда добавляются не все данные, а только часть. Я все никак не могу поймать какую-либо зависимость от чего-либо, никаких ошибок, ничего. В эту таблицу могут добавлять и другие методы, но уникальный индекс там только один (id) и конфликтов на этой почве быть не может.
  • Вопрос задан
  • 106 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Barmunk
добавь лог на каждое действие в этом условии и жди когда баг сам попадется)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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