1. PHP / Говнокод #27320

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    $query = "
    	SELECT
    		`version`, `mods`, `plugins`, `keywords`
    	WHERE
    		`version` = {$version}";
    foreach (explode(",", $mods) as $mod)
    {
    	$query += "AND `mods` LIKE '{$mod}' OR `mods` LIKE '{$mod},%' OR `mods` LIKE '%,{$mod},%' OR `mods` LIKE '%,{$mod}'";
    }
    foreach (explode(",", $plugins) as $plugin)
    {
    	$query += "AND `plugins` LIKE '{$plugin}' OR `plugins` LIKE '{$plugin},%' OR `plugins` LIKE '%,{$plugin},%' OR `plugins` LIKE '%,{$plugin}'";
    }

    Говнокод чтобы прогнать массив с id записей внутри varchar по массиву с id записей из переменной (id,id,id)

    Запостил: Dev1lroot, 27 Марта 2021

    Комментарии (11) RSS

    • алгоритм для SQL инъекций
      Ответить
      • Может у него там одни инты?
        Ответить
        • язык без стат типизации, мы этого не знаем
          Ответить
          • Сама структура базы охуенна, конечно. Айдишки плагинов через запятую в одном поле.
            Ответить
            • да и ищет он их круто, через like)

              а в недосубд есть что-то типа https://www.postgresql.org/docs/13/arrays.html ?
              Ответить
              • > через like

                А как их ещё искать, если они в одну строку свалены?
                Ответить
                • а там нельзя сделать split по запятой, и потом поискать полным соответствием?

                  Впрочем, это всё равно говнище конечно
                  Ответить
                  • В последних судя по доке json и поиск по нему завезли. А про сплит -- х.з., если массивов в языке нет.
                    Ответить
                    • ну значит нужно нормализовать субд, и невыежываца
                      Ответить
              • просто обязаны там быть
                потому что аггау нарушает сразу несколько норм форм
                Ответить
          • Если это кусок функции, то вполне возможно, что аргументами она принимает исключительно целые числа.
            Ответить

    Добавить комментарий