Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: SELECT работает как INSERT, с чего бы вдруг?
Покинул форум
Сообщений всего: 86
Дата рег-ции: Май 2012
Помог: 0 раз(а)
Есть таблица model с полями id_model, id_marka, model.
На данный момент просто решила отобрать все записи id_marka=126.
Но происходит что-то странное.
Допустим таблица model имела 2659 записей, так после того, как я вызываю эту страницу, где прописан такой код, у меня почему-то таблица model растет, соответственно и отобранных записей больше. Каждое обновление добавляет 2659 записей. Если б специально захотела бы так сделать, наверное и не получилось бы.
Очень странно, если бы я использовала где-то INSERT, то я бы не удивлялась этому, а здесь простой SELECT.
Что происходит с SELECT? Почему так катастрофически растет база? Разве в коде что-то не так?
Покинул форум
Сообщений всего: 86
Дата рег-ции: Май 2012
Помог: 0 раз(а)
Он всё-равно добавляет.
Green
Отправлено: 20 Мая, 2012 - 17:43:12
Частый гость
Покинул форум
Сообщений всего: 214
Дата рег-ции: Апр. 2012 Откуда: Кисловодск
Помог: 9 раз(а)
Кроме этого кода, есть еще что-то на странице? Выкладывайте полный код, эта простая выборка в цикле, она не может добавлять записи...
Ладно если бы на выводе были дубли, но это - вообще странно... Очень...
Muxa
Отправлено: 20 Мая, 2012 - 17:45:01
Частый гость
Покинул форум
Сообщений всего: 247
Дата рег-ции: Март 2012 Откуда: Россия, Тверь
Помог: 5 раз(а)
Green пишет:
if(mysql_num_rows($link) == TRUE)
что это? о_О если число извлеченных рядов равно true? (Добавление)
то есть получается если целое равно булеву?
Терри
Отправлено: 20 Мая, 2012 - 17:50:38
Гость
Покинул форум
Сообщений всего: 86
Дата рег-ции: Май 2012
Покинул форум
Сообщений всего: 19
Дата рег-ции: Май 2012 Откуда: Минск
Помог: 0 раз(а)
Терри пишет:
Он всё-равно добавляет.
Надо остальной код смотреть. SELECT по определению не может записи добавлять или еще как-то изменять БД.
У вас должен быть INSERT, который срабатывает тогда, когда не надо.
Терри
Отправлено: 20 Мая, 2012 - 17:53:47
Гость
Покинул форум
Сообщений всего: 86
Дата рег-ции: Май 2012
Помог: 0 раз(а)
С этой страничкой всё в порядке вроде бы .................... где-то раньше надо искать причину ........... но и там у меня просто SELECT
redNek
Отправлено: 20 Мая, 2012 - 17:56:04
Новичок
Покинул форум
Сообщений всего: 19
Дата рег-ции: Май 2012 Откуда: Минск
Помог: 0 раз(а)
Muxa пишет:
то есть получается если целое равно булеву?
Про правило лжи слышал? В PHP же нет жесткой типизации. Так что все норм, если мы в запросе что-то получили, то пишем это в переменную, если пустой запрос получился ничего не делаем.
Muxa
Отправлено: 20 Мая, 2012 - 17:56:19
Частый гость
Покинул форум
Сообщений всего: 247
Дата рег-ции: Март 2012 Откуда: Россия, Тверь
Помог: 5 раз(а)
ctrl+F - INSERT (Добавление)
redNek пишет:
Про правило лжи слышал? В PHP же нет жесткой типизации. Так что все норм, если мы в запросе что-то получили, то пишем это в переменную, если пустой запрос получился ничего не делаем.
слышал) просто первый раз вижу такое, обычно пишут >0 а не TRUE.. думаю а вдруг)
Green
Отправлено: 20 Мая, 2012 - 18:00:02
Частый гость
Покинул форум
Сообщений всего: 214
Дата рег-ции: Апр. 2012 Откуда: Кисловодск
Помог: 9 раз(а)
Muxa пишет:
Green пишет:
if(mysql_num_rows($link) == TRUE)
что это? о_О если число извлеченных рядов равно true? (Добавление)
то есть получается если целое равно булеву?
Например, если записей в таблице 100, mysql_num_rows вернет 100, так?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.