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

    +71

    1. 1
    2. 2
    3. 3
    4. 4
    function __destruct(){
    		$sql = "DELETE FROM Basket";
    		mysql_query($sql);
    	}

    Удаление товаров из корзины в интернет магазине.

    Запостил: BrdNLSrg, 30 Июля 2012

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

    • Delete all the baskets!
      Ответить
    • однопользовательский интернет-магазин.
      Ответить
      • Может там на каждого пользователя своя база данных?
        Ответить
        • лучше - у каждого свой магазин
          Ответить
        • Я где-то подобное уже видел. Только была не отдельная база, а создавалась отдельная таблица.
          Ответить
          • В годных РСУБД можно (вроде) создавать временные таблицы с константным именем, существующие во время коннекции. Что-то не думаю, что в пхпмайскуеле такое возможно.
            Ответить
            • Из мана к MySQL:
              You can use the TEMPORARY keyword when creating a table. A TEMPORARY table is visible only to the current connection, and is dropped automatically when the connection is closed. This means that two different connections can use the same temporary table name without conflicting with each other or with an existing non-TEMPORARY table of the same name. (The existing table is hidden until the temporary table is dropped.)

              Другое дело - пользовался ли этим автор кода.
              Ответить
              • Я не думаю, что это делает этот код меньшим говном. Зачем нужна временная таблица, *не живущая дольше одного запроса*? Это автор что, каждый раз туда выгружает корзину из куки или откуда-то еще, работает с ней и дропает потом?
                Ответить
                • А вдруг он создает по персистентному соединению на каждого юзера? ;)
                  Ответить
                  • Юзер ушёл, а соединение-то вот оно.
                    Ответить
                    • А кого это волнует?

                      P.S. Ну если очень-очень нужно - можно закрывать соединения по таймауту. Правда при этом грохнется корзина... но... см. предыдущий абзац ;)
                      Ответить
                      • "Вы отсутствовали более десяти минут. Ваша корзина была принудительно очищена. Ибо ваистену!"
                        Ответить
                  • А в пыхе можно персистентные соединения создавать?
                    Ответить
                    • > mysql_pconnect — Open a persistent connection to a MySQL server

                      (Как в PDO - не интересовался никогда)
                      Ответить
                      • php.net:
                        Во-первых, при соединении функция пытается найти уже открытый (постоянный) указатель на тот же сервер с тем же пользователем и паролем. Если он найден, возвращён функцией будет именно он, вместо открытия нового соединения.

                        По пользователю СУБД на каждого юзера магазина? Отличная идея.
                        Ответить
                        • > По пользователю СУБД на каждого юзера магазина?
                          Ну а что такого. Зато свою систему аутентификации не придумывать.
                          Ответить
                          • Это тег sarcasm, да? :)
                            Ответить
                            • Зеленый текст - да.
                              Ответить
                            • Да наверное в 80% псотов на этом сайте неявно присутствует сей тег.
                              Там возле комментария есть число.
                              И вот зачастую чем больше и чем зеленее оно - тем больше едкой иронии и сарказма.
                              А если красное - то модерации.
                              Ответить
                          • По серверу тогда уж. Отпадёт проблема с таблицами сама собой.
                            Ответить

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