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

    −57.3

    1. 1
    2. 2
    3. 3
    $result = doquery("SELECT * FROM {{table}} WHERE username='".$username."';",users,true);
    $username = $result['username'];
    unset($result);

    В одной браузерной стратегии...

    Запостил: guest, 11 Декабря 2008

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

    • den_rad:
      Это он про COUNT(*) не знал??
      Ответить
    • ^_^:
      Могу конечно ошибиться, но COUNT(*) здесь совсем ни причём.. Лично я вижу в коде 2 жуткие ошибки:
      1) $username в запросене обрабатывается через mysql_real_escape_string (=== SQL Injection)
      2) SELECT * ... - эт конечно ппц, тем более из-за того, что нужно только поле username.

      2Автор: А там далее по коду не было точно такого же селекта, де он брал ещё одно поле, а потом снова удалял результат? ^__^
      Ответить
    • Dr.Freez:
      Все в норме))) нагадил убери за сабой xDDD
      Ответить
    • LoneCat:
      2 ^_^:
      А жуткая ошибка то что автор кода выбирает поле username по полю username которое известно до выборки - она не так заметна? :)
      Ответить
    • dizzyman:
      Правильно навреное вот так:
      $username = $result['username']

      а еще вернее:
      $result['username']


      Зачем лишние переменные?
      Ответить
    • страйко:
      LoneCat, +1
      Ответить
    • Автор:
      LoneCat, +1 как от опубликовавшего этот код.
      Ответить
    • dj Virus:
      ^_^, не факт, что username пришёл из пользовательского ввода, или маджик-квоты выключены.

      LoneCat, Ну а в чём же тут ошибка? Если пользователя нет в базе, то $username на выходе будет пустым.
      Ответить
    • dioteos:
      О нормализации запросов и не слышали
      Ответить
    • страйко:
      [quote=dioteos]О нормализации запросов и не слышали [/quote]
      о нормализации запросов я тоже не слышал :)
      Ответить
    • multiflash:
      а я знаю, да, ogame клон называется (ugamela в гугле ;) )))
      кстати я ей занимался )
      Ответить
    • multiflash:
      но через год забил из-за кривизны кода ))
      Ответить

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