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

    +162

    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
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    function SentMessage($Text,$Title) {
    
    	$r=mysql_query("SELECT `id`,`login`,`email` FROM `".$this->TableUsers."` WHERE `access` = 1 and `check_email`=1");
    
    	while( $res = mysql_fetch_array($r) ){               
    		mysql_query("
    			INSERT INTO `".$this->MessTable."` ( 
    				`From` , `To` , `Date` , `Title` , `Text` 
    			) VALUES (
    				'".$this->MainUser['id']."', '".$res[id]."', NOW(), '".$Title."', '".$Text."'
    			)
    		");
    
    		$body=BuildBody("mail.message", $res);
    
    		$headers=' /*... заголовок  ...*/ ';
    		mail ( $res[email], " /*... отправитель ..*/ ", $body, $headers);
    	}
    }

    вот такое чудо враждебной техники откопалось при колупании одной cms'ки...
    (при том что выборка из $this->TableUsers с такими условиями получалась порядка ~500 т. строк )

    Запостил: istem, 20 Августа 2010

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

    • ...эту функцию надо было назвать "ServerOut"
      Ответить
    • запрос в цикле к запросу - развидьте меня это видеть....... при этом BuildBody - глобальная функция, ойй.
      Ответить
    • люди так пафосно юзают объекты, и при этом тут же в куче mail, сборка письма и обращение к базе.
      И ведь наверное думают что они пишут ОО код. Карго-культ блин)

      а уж инсерты в цикле это круть
      Ответить
      • ну ООП это же круто. И пох что он не совсем ООП и не везде..... ООП тут у нас как декорации, да
        Ответить
    • function Kernel_panic(){
        $r = mysql_query("SELECT * FROM table");
        while($res = mysql_fetch_array($r) ){
          mysql_query("INSERT INTO table VALUES('...','...','...')");
        }
      }
      Ответить
      • И где Здесь паник. ? мускул отработает не даже не вспатеет. Вот 61 join вызовет локальный коласпс. :)
        Ответить
        • если вкл persistent connection, то даже при большой табле мускул даже не возмутится кол-вом работы.

          даа, 61 жойн, особенно если много данных...
          Ответить
          • «61 джойн должно хватить каждому» — цЫтата.
            Ответить
    • SentMessageplease writeme 2icq #ЗОО^9З7^ООЧ = )
      Ответить
      • Об этой функции известно всему коллективу. Новоприбывших, кто когда-нибудь собственноручно добирается до неё встречают фразой: "Ни в коем случае не запускай!", - но никто не решается это удалить почему-то... Так и висит...
        Ответить
      • ICQ точно Ваш? ))
        Ответить

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