Запрос делает вставку два раза - хотя нужно один

J
На сайте с 08.06.2006
Offline
844
613

mysql_query("update credit_posts set name=CONCAT(name,'".$_form2."') where id=".$_GET['id_post']."");

к name значение $_form2 добавляется два раза

почему?

п.с. это если скриптом выполнять запрос.

если сделать print "update credit_posts set name=CONCAT(name,'".$_form2."') where id=".$_GET['id_post'].""; а потом выполнить пхпадмине, то все гуд

если закоментить запрос в скрипте, то ничего не происходит - тоесть именно этот одни запрос добавляет значение $_form2 два раза

Оптимизайка
На сайте с 11.03.2012
Offline
396
#1
joost:
where id=".$_GET['id_post']."")

Плакать хочется.

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
J
На сайте с 08.06.2006
Offline
844
#2

вроде же правильно все https://myrusakov.ru/sql-concat.html

[Удален]
#3
joost:
вроде же правильно все

если хотите получить sql-injection, то правильно ))

а если не хотите используйте bind:

http://php.net/manual/ru/mysqli-stmt.bind-param.php

http://php.net/manual/ru/pdo.prepared-statements.php

L
На сайте с 10.02.2015
Offline
222
#4

Или просто искейпинг:

http://php.net/manual/en/function.mysql-real-escape-string.php

По теме вопроса.

Значит запрос дергается 2 раза... :)

Или обновление странички.

doctorpc
На сайте с 12.07.2009
Offline
112
#5
joost:

если закоментить запрос в скрипте, то ничего не происходит - тоесть именно этот одни запрос добавляет значение $_form2 два раза

Скорее запрос в коде выполняется два раза.

Без более детального дебагинга кода врядли кто-то сможет помочь.

---------- Добавлено 02.08.2016 в 11:28 ----------

joost:

если сделать print "update credit_posts set name=CONCAT(name,'".$_form2."') where id=".$_GET['id_post']."";

Вы это делаете следующей же строчкой после mysql_query ?

Если да, то сколько раз печатает на экран?

L
На сайте с 07.12.2007
Offline
351
#6
joost:
если закоментить запрос в скрипте, то ничего не происходит - тоесть именно этот одни запрос добавляет значение $_form2 два раза

Такое бывает при:

- рефреше браузера. Скрипт после записи в БД должен делать редирект "сам на себя" для предотвращения повторной отправки

- двойном клике на кнопку "отправить" (у меня была такая мышка) Дизаблите яваскриптом кнопку "отправить" сразу после клика.

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