За последние 24 часа нас посетили 24525 программистов и 1677 роботов. Сейчас ищут 1200 программистов ...

Найти совпадение в SQL и прибавить +1

Тема в разделе "PHP для новичков", создана пользователем Kuvalda1, 28 авг 2018.

Метки:
  1. Kuvalda1

    Kuvalda1 Новичок

    С нами с:
    21 авг 2018
    Сообщения:
    10
    Симпатии:
    0
    Добрый день!

    Есть база "mybase" с 6 столбцами.
    Надо чтобы осуществился поиск переменной $strelka по столбцу "foto" и если найдено полное совпадение то добавилось +1 к числу в шестом столбце "bal" этой строки.

    Подскажите как это осуществить?
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    если это задание препода, то лучше учиться самому его делать.
    как бы ты сделал? что сложно или непонятно - спроси, мы поможем.
     
  3. Kuvalda1

    Kuvalda1 Новичок

    С нами с:
    21 авг 2018
    Сообщения:
    10
    Симпатии:
    0
    Нет не препод. Возраст уже не тот. Сам ищу. Научите?
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    запрос не проблема, он простой как палка, потому и спросил
    update `table` set `bal` = `bal` + 1 where `foto` = "тут переменная"

    но фишка в том, тчо надо ещё от инъекций защититься. поэтому покажи код.
     
    Kuvalda1 нравится это.
  5. Kuvalda1

    Kuvalda1 Новичок

    С нами с:
    21 авг 2018
    Сообщения:
    10
    Симпатии:
    0
    Спасибо большое! Работает!
    Но встала следующая проблема
    Сразу за кодом поиска
    Код (Text):
    1. $mysqli->query("ruls` set `ruls` = `ruls` + 1 where `foto_50` = ('$userItem->photo_50')");
    идет код добавления новой строки
    Код (Text):
    1. $mysqli->query("INSERT INTO `ruls`(`first_name`, `last_name`, `foto_50`, `link_akkaunt`, `ruls`) VALUES ('$userItem->first_name')");
    Надо чтобы если дубликат был найден и к последнему столбцу было прибавлено +1, то код добавления строки не сработал.
     
    #5 Kuvalda1, 28 авг 2018
    Последнее редактирование: 28 авг 2018
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    чувак, заплати комунить =)
     
  7. Kuvalda1

    Kuvalda1 Новичок

    С нами с:
    21 авг 2018
    Сообщения:
    10
    Симпатии:
    0
    Если заплачу точно не научусь. )) А так хоть шанс есть.
     
  8. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.842
    Симпатии:
    652
    @Kuvalda1, те говорят, что реальная дыра может образоваться, а ты: «Спасибо большое! Работает!» После такого быстро отпадает желание тебе помогать.
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    чему? мёртвому смарти который никому не нужен? это ж не пхп
     
  10. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.842
    Симпатии:
    652
    Смарти – это же вроде др. тема ;) Или так, в общем говоришь?
     
  11. Kuvalda1

    Kuvalda1 Новичок

    С нами с:
    21 авг 2018
    Сообщения:
    10
    Симпатии:
    0
    Я не разбираюсь smarty или нет. Порекомендовали на форуме PHP и в файле php работает. Пусть хоть ежом называется лишь бы работал.

    Как сделать если первая строка сработала, то вторая не запускалась?
     
  12. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.842
    Симпатии:
    652
    Кури INSERT ... ON DUPLICATE KEY UPDATE ...
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    тему перепутал :D
    все хорошо, учи мускул
     
  14. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    После выполнения запроса update можно проверить, сколько строк было изменено при его выполнении из свойства affected_rows
     
    Kuvalda1 нравится это.