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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $sql = "INSERT INTO loginhistory(id_user)
    	     VALUES('$id_user')"; // create query to db - add new login history 
    $result = mysql_query($sql) or die("MySQL error: ".mysql_error()); // execute it and save result to variable $result
    $sql = "SELECT id
    	     FROM loginhistory
    	     WHERE id_user = '$id_user'
    	     ORDER BY id DESC
                 LIMIT 1"; // get ID of the last record in loginhostory
    $result = mysql_query($sql) or die("MySQL error: ".mysql_error()); // execute this query

    Классика (:

    Запостил: denis90, 21 Ноября 2011

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

    • В чем хитрость? Обычный код на php
      Ответить
      • Это и печально. А так вывод ошибок на страницу, Ну и Select из-за незнания мат части. http://fr.php.net/manual/ru/function.mysql-insert-id.php
        Ответить
        • Здесь не очевидно для чего он сделал второй запрос. Может хотел убедиться, что запись действительно добавлена :)
          А так для получения ласт ID действительно он фиговато сделал. А насчет ошибок которые выводятся прям на страницу - ну так Вы возьмите любую книгу по PHP + mysql так там это считается нормально. Откуда же людям постигать знания?
          Ответить
          • Читать другие книги.
            Ответить
          • get ID of the last record in loginhostory
            Однозначно хотел получить Last ID
            Ответить
          • Хотел убедиться что она действительно добавлена?:U.Там die стоит, вариантов не много)По сути всего 4 строки кода и только одна лишняя. Бывает и похуже.
            Ответить
            • Вы о чем? Расширьте Ваш ответ плиз
              Ответить
              • Если insert не сработает, вернется false. сработает die. Выполнение скрипта остановиться.

                Если бы не остановился, был бы наимельчайший смысл проверять Selectом. Получили бы последние данные о пользователе. Хотя на... они нужны тогда))

                Кстати автор не индус, скорее араб, судя по $id_user
                Ответить
    • не, ну так сюда можно весь интернет перепостить, где здесь лопата?
      Ответить
      • Типичнейший PHP-код. Разве что более упоротые пишут
        or die($sql . " error: ".mysql_error())
        Ответить
        • Это не типичный код, а типичный говнокод. Это как обозвать долбоёбом типичного человека, не уважение к честным, белым и пушистым программистам не пишущим подобного говнокода.
          Ответить
          • > типичный говнокод
            Бинго! А тут такого уже тонны.
            Ответить
    • mysql_insert_id() уже не торт ?
      Ответить
      • автор индус так что не торт
        Ответить
        • мда (( самое печальное что ответ на вопрос "как получить последний ID " гуглится за 1 минуту … 
          Ответить
      • Я только учусь, посему такой вопрос - в php.net написано:
        >Возвращает идентификатор, сгенерированный колонкой с AUTO_INCREMENT последним запросом (обычно INSERT).
        Но вроде как у него колонка с id_user не автоинкремент, а он лапками всё вставляет (зачем?). И как здесь поможет mysql_insert_id?
        Ответить
        • > SELECT id
          Судя по этому выбирает он все таки поле с AUTO_INCREMENЕT' ом
          Ответить
        • если он сам вставляет id какой смысл делать SELECT ?
          Ответить
          • Да в общем, уже разобрались - он вставляет запись id_user, но id-то он не знает, он автоинкрементится. ID ему может понадобится, это да. Загадка моя разгадывается просто - я вместо id прочла id_user, отсюда все вопросы.
            Ответить
    • и конечно SQL инъекция
      Ответить
      • Выполнил просто сногсшибательную инъекцию в твоё прямокишечное пространство.
        Ответить
    • Экзамен я сдал чудом, точнее силой своего обаяния. Пожилая преподавательница, принимавшая у меня экзамен, очень ценила вежливость и воспитанность, по её словам, не свойственную современной молодёжи. А это всё про меня, я был исключением, поэтому сразу стал её любимчиком. Когда я присел к столу, она как бы невзначай положила ручку на один из билетов. Это могло что-то значить, и я вытащил билет из-под ручки. Так и есть, по одному вопросу я недавно писал реферат, второй был настолько простой, что надо было быть полным идиотом, чтобы не ответить на него. И как результат - высшая оценка по предмету, который я рассчитывал сдать раза эдак с пятого. Благодаря этому весь день у меня было отличное настроение. Не испортилось оно, и когда я открыл дверь молодому симпатичному мужчине - видимо, тому, с кем нам предстояло ужинать.
      Ответить

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