Уважаемые гуру, нужен Ваш совет

12
S
На сайте с 27.03.2009
Offline
29
795

Может кто сталкивался? в чем может быть проблема?

Попросили помоч разобраться, говорят что раньше было все ок, но проек постоянно видоизменяется, так что что именно тронули сказать не могут.

Проблема: Вставляю из PHP командой: $result = mysql_query("Insert into table_name(field_name) values(field_value)"); запись в таблицу table_name, в итоге в таблице 2 одинаковые записи (разные только айдишники)...

Ну думаю глючит их сервак, дампером накатываю бекап к себе на лакалку ... ТОЖЕ САМОЕ, ну думаю ладно и в этом есть плюсы, значит сервак работает )))

Сижу короче туплю...дай думаю сделаю тестовую PHP страничку без всего, только один инсерт и о чудо работает, т.е. вставляет одну запись. Ну хорошо, понимаю что на "старой" PHP страничке есть что то, что мешает инсерту правильно работать, я начинаю постепенно методом тыка убирать все подряд и пробовать, короче вот что выяснил (прошу яйцми не кидаться) в главной таблице если убрать фон - то все будет ок.

Было так (не работало) <table width="90%" BORDER=0 CELLPADDING=0 CELLSPACING=0 background="#dcdcdc">

Стало так (и работает) <table width="90%" BORDER=0 CELLPADDING=0 CELLSPACING=0 >

Кто сталкивался, что вааще за бред?

Спасибо

J
На сайте с 02.02.2009
Offline
53
#1

Капитан Очевидность:

Нужно больше данных, юнга! Больше данных! Примеры кода! Кода примеры!

HTML не мешает PHP делать свои чёрные дела - это два разных пространства, так сказать.

UPD: Чтобы данные не дублировались - надо на нужное поле повесить UNIQUE аттрибут.

[Удален]
#2

да. есть такое. наверное XP sp2, и еще Skype открыт в трее. Новая разработка мелкософта (только тссс! тайная). подождтите недельку, должно самом зарабоать

зы: а вы, кстати, не пробовали методом тыка замерять частоту в сети питания? говорят, иногда помогает

S
На сайте с 27.03.2009
Offline
29
#3
jumash:

Нужно больше данных, юнга! Больше данных! Примеры кода! Кода примеры!

$result = mysql_query("Insert into table_name(field_name) values(field_value)");

Вот кот на PHP я же писал выше.

jumash:

HTML не мешает PHP делать свои чёрные дела - это два разных пространства, так сказать.
SPodgorniy:
дай думаю сделаю тестовую PHP страничку без всего, только один инсерт и о чудо работает
jumash:

UPD: Чтобы данные не дублировались - надо на нужное поле повесить UNIQUE аттрибут.

Это не коим образом не решит проблемы, да дублироваться не будут но попытки вставить будут и грязные логи тоже...

=DEREK=
На сайте с 07.05.2009
Offline
130
#4

скорее всего mysql_query INSERT вызываеться два раза. Возможно цикл... не стоит ли эта строка в теле цикла?

давайте больше кода, попробуем разобраться. Одно могу сказать точно: количество запросов к БД не зависит от бекграунда таблицы😂

Показываю фокусы с Drupal (/ru/forum/526565)
J
На сайте с 02.02.2009
Offline
53
#5
MOP1:
да. есть такое. наверное XP sp2, и еще Skype открыт в трее. Новая разработка мелкософта (только тссс! тайная). подождтите недельку, должно самом зарабоать

зы: а вы, кстати, не пробовали методом тыка замерять частоту в сети питания? говорят, иногда помогает

Вопросы задавать - это надо учиться :) Надо людям помогать :))

ТС:

Это не кусок PHP-кода с запросом, а хрень без данных :)

Чтобы не было ошибок - надо использовать INSERT IGNORE ... или же INSERT INTO .... ON DUPLICATE KEY UPDATE field='value'

S
На сайте с 27.03.2009
Offline
29
#6
MOP1:
зы: а вы, кстати, не пробовали методом тыка замерять частоту в сети питания? говорят, иногда помогает

да я был близок к этому, еще бы чуть чуть ... но проблема то решилась, а сейчас просто хотелось бы с вашей помощью понять что это за глюк.

SPodgorniy добавил 19.05.2009 в 14:54

=DEREK=:
скорее всего mysql_query INSERT вызываеться два раза. Возможно цикл... не стоит ли эта строка в теле цикла?
давайте больше кода, попробуем разобраться. Одно могу сказать точно: количество запросов к БД не зависит от бекграунда таблицы😂

это первое что пришло мне в голову, но хоть цикла и небыло но всеравно я поставил эхо рядом с инсертом и вывел тестовую строчку ... она показалась один раз.

SPodgorniy добавил 19.05.2009 в 14:56

jumash:
Чтобы не было ошибок - надо использовать INSERT IGNORE ... или же INSERT INTO .... ON DUPLICATE KEY UPDATE field='value'

ошибок и так нет, этот запрос корректно отрабатывает в PHPMyадмине

Dreammaker
На сайте с 20.04.2006
Offline
569
#7
jumash:
HTML не мешает PHP делать свои чёрные дела - это два разных пространства, так сказать.

Вы не поверите, но эти пространства могут иногда пересекаться. :) Иногда полезно следовать девизу open your mind.

Если не ошибаюсь, то на пхпклубе был случай, когда из-за изменений в хтмле - были проблемы с двойной вставкой в базу. И как раз с бекграундом было связано. Случай фееричный и вначале все тоже гнали на тамошнего топикстартера, но когда въехали в тему были поражены интересным фактом. Сути проблемы не помню, попробую найти.

S
На сайте с 27.03.2009
Offline
29
#8
Dreammaker:
Вы не поверите, но эти пространства могут иногда пересекаться. :) Иногда полезно следовать девизу open your mind.

Если не ошибаюсь, то на пхпклубе был случай, когда из-за изменений в хтмле - были проблемы с двойной вставкой в базу. И как раз с бекграундом было связано. Случай фееричный и вначале все тоже гнали на тамошнего топикстартера, но когда въехали в тему были поражены интересным фактом. Сути проблемы не помню, попробую найти.

Очень был бы признателен

Dreammaker
На сайте с 20.04.2006
Offline
569
#9

во :)

http://phpclub.ru/talk/showthread.php?threadid=101685&perpage=20&pagenumber=1

Dreammaker добавил 19.05.2009 в 15:03

Там на третей странице расшифровка. Ой, как красиво же... Попячьтесь те кто не верил ТСу :)

S
На сайте с 27.03.2009
Offline
29
#10

т.е. цвет расценивается как якорь и страница, пусть под видом картинки, но загружается повторно и следовательно повторно и исполняется...нда

Спасибо за ссылку.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий