Dram

Рейтинг
1115
Регистрация
28.06.2008

die(); срабатывает так же как и break - в базу успевает прилететь только 2 записи.

Т.е. он одним запросом как-то две записи добавляет

Чутье былокодера подсказывает что проблема в запросе, тут

$db->query

Вот почти моя проблема http://www.cyberforum.ru/mysql/thread418736.html

Получил 4 записи как и положено:

Я в цикле -
Я в цикле -
Я в цикле -
Я в цикле -

Подхожу к циклу с очищенными ссылками на товары

$Level3 = array_unique($Level3);
var_dump($Level3);

Вар дамп перед циклом показывает

array (size=4)
0 => string ' (length=75)
1 => string ' (length=80)
2 => string ' (length=87)
3 => string ' (length=80)

Захожу в цикл

foreach ($Level3 as $lev3){

$db->query("INSERT INTO `table` (`id`, `parent_id`, `name`, `4`, `5`, `6`, `7`, `8`, `9`)
VALUES (NULL, '{$linksLevel2[0]['id']}', '0', '0', '0', '0', '0', '0', '');");

var_dump($lev3); мне уже пишет

string ' (length=75)
string ' (length=80)
string ' (length=87)
string ' (length=80)

Максимально все упростил. Пробую сразу писать в базу, просто ID.

ТАДАМ,,,, получаю 8 записей!!! Какого фига вместо 4 - 8 ??

Не, это все не то. Зачем городить кучу проверок, если банальный цикл из 4 итераций уходит на второй круг, а этого быть не должно априори.

Нужно понять почему так...

Частично Решил проблему добавлением уникального индекса на одно из полей :))

Дублей больше нет, но по ID видно что они просто перезаписываются что-ли.

ID не по порядку идут

---------- Добавлено 02.06.2019 в 08:44 ----------

Упростил цикл до минимума

foreach ($Level3 as $lev3){
$db->query("INSERT INTO `table` (`id`, `parent_id`, `name`, `4`, `5`, `6`, `7`, `8`, `9`)
VALUES (NULL, '{$linksLevel2[0]['id']}', '0', '0', '0', '0', '0', '0', '');");
}

var_dump($lev3); показывает что в цикл заходят 4 ссылки в виде строк.

Но запуская этот цикл я получаю в базу 8 записей. Почему?

С

VALUES (NULL,

мне на первом же прогоне записало 8 записей.

Два раза по 4. Почему так не понятно...

В конце цикла

foreach ($Level3 as $lev3){

У меня прописан запрос

$db->query("INSERT INTO

Если попробовать после запроса прописать - break;

То в базу запишутся 2 раза первый товар и все. ТОже мне не понятна эта песня.

Спасибо за подсказку!! В пхпмайадмин прописал у поля ID автоинкримент, далее так в запросе?

VALUES ('',

Попробовал прогнать - ничего не записалось

Так тоже попробовал

VALUES ('NULL'

Попробовал так

VALUES (LAST_INSERT_ID(),

В базу записалось 2 одинаковых товара - 2 раза записался первый товар, еще раз прогнал - опять они же записались :))

Brat_Sergij, ты один такой остался, пишу СПЕШЕЛ ФО Ю!

УБИРАЙ, пожалуйста -www. и слеши в конце!!!

УБИРАЙ домен 3 уровня, оставляй ТОЛЬКО основной домен!!!

ПОСМОТРИ как другие оформляют посты!!

P.S. надеюсь на понимание, спасибо!

Очень жду, включив одну эту настройку другими можно не пользоваться :)

Всего: 6928