mysql_real_escape_string / Говнокод #852 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Vote](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[Name] [nvarchar](max) NULL,
	[Visible] [bit] NOT NULL CONSTRAINT [DF_Vote_Visible]  DEFAULT ((0)),
 CONSTRAINT [PK_Vote] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
ALTER TABLE [dbo].[Vote]  WITH CHECK ADD  CONSTRAINT [FK_Vote_Vote] FOREIGN KEY([Id])
REFERENCES [dbo].[Vote] ([Id])
GO
ALTER TABLE [dbo].[Vote] CHECK CONSTRAINT [FK_Vote_Vote]

Вот прикол таблица с полем одновременно PK и FK вот засада!!!

guest guest, (Updated )

Комментарии (2, +2)

mysql_real_escape_string / Говнокод #793 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
SELECT 
lmd.Name AS DisciplineName,
lmdv.ModDiscipVersionID,
lmn.Name AS ModuleName,
lm.ModuleID 
FROM StudyContract sc 
INNER JOIN PersonalLesson pl 
ON sc.StudyContractID = pl.StudyContractID 
INNER JOIN lst_Module lm 
ON pl.ModuleID = lm.ModuleID 
INNER JOIN lst_ModuleName lmn 
ON lm.ModuleNameID = lmn.ModuleNameID 
INNER JOIN lst_ModDiscipVersion lmdv 
ON lm.ModDiscipVersionID = lmdv.ModDiscipVersionID 
INNER JOIN lst_ModDiscip lmd 
ON lmdv.ModDiscipID = lmd.ModDiscipID 
INNER JOIN Student s 
ON sc.StudentID = s.StudentID 
INNER JOIN TrainingProduct_Lesson tpl 
ON tpl.PersonalLessonID = pl.PersonalLessonID 
INNER JOIN TrainingProduct tp 
ON tp.TPID = tpl.TPID 
WHERE sc.ContractNumber = '050000000000' 
AND s.Surname = 'к' 
AND 
(
tp.TPKindID=1 OR 
tp.TPKindID=3 OR 
tp.TPKindID=8 OR 
tp.TPKindID=12 OR 
tp.TPKindID=15 OR 
tp.TPKindID=52 OR 
tp.TPKindID=58 OR 
tp.TPKindID=94 OR 
tp.TPKindID=6 OR 
tp.TPKindID=39 OR 
tp.TPKindID=80 OR 
tp.TPKindID=40 OR 
tp.TPKindID=74 OR 
tp.TPKindID=17 OR 
tp.TPKindID=33
)
GROUP BY lmd.Name,lmdv.ModDiscipVersionID,lmn.Name,lm.ModuleID

Говнокодеры Современной Гуманитарной Академии не подозревают о такой вещи как tp.TPKindID IN (1;3;...;33)

guest guest, (Updated )

Комментарии (0)

mysql_real_escape_string / Говнокод #721 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
begin	-- воркэраунд для дерьмовой идеи хранить ROWID отмеченных записей в таблице XXX
					-- так делать нельзя, ROWID вообще нельзя для этого использовать! Какой даун до этого додумался...
					-- интересно посмотреть как эта херня работает когда одной формой одновременно пользуются несколько
					-- юзеров. Бля слов нет одни эмоции. Один говнопрограммер додумался, теперь остальные должны
					-- использовать этот говнокод! Хранить помеченные строки в таблице БД, чтобы потом их использовать
					-- в других формах, я в аКуе!! Быбло система бля, быдлониточек и быдловеревочек! Сцуко, добавить к
					-- каждой таблице нормальные синтетические первичные ключи, а не эту порнографию религия не позволяет?
					-- Сдалать коллекцию, захуячить в нее первичные ключи помеченных строк и передавать ее в качестве параметра
					-- нивъебаЦЦа какая охуенна сложная задача... Нет-же, хуярим это унылое говно везде. Хочешь заюзать
					-- какую-нибудь функцию для массовой обработки либо хуярь это унылое говницо, либо пиши свою функцию
					-- со своими шлюхами и блэкджеком! Сцуки, пойду дальше программить..
	          select ROWID
	          into tmp
	          from YYY
         		where PKID = :YYY.PKID;
         		insert into xxx(aaa, bbb)
         		values (tmp, new_mrk);
     		end;

Нашел в коде такой коммент :)
Видимо реализация задело кого-то за живое :))

guest guest, (Updated )

Комментарии (7, +7)

mysql_real_escape_string / Говнокод #701 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
CREATE OR REPLACE VIEW my_schema.my_view AS
SELECT 
   TO_NUMBER (c.payment_term_code) ID, 
   c.payment_term_code sap_code, c.payment_term_name longname,
          c.short_name shortname, c.comment_line comments, c.cust_relevant, c.vend_relevant, c.active active,
          c.updated_by created_by, c.updated_by updated_by, c.updated_on created_on, c.updated_on updated_on, 1 txn_ver
     FROM my_schema.my_table c
    WHERE (    LENGTH (c.payment_term_code) = 1
           AND SUBSTR (c.payment_term_code, 1, 1) IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
          )
       OR (    LENGTH (c.payment_term_code) = 2
           AND SUBSTR (c.payment_term_code, 1, 1) IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
           AND SUBSTR (c.payment_term_code, 2, 1) IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
          )
       OR (    LENGTH (c.payment_term_code) = 3
           AND SUBSTR (c.payment_term_code, 1, 1) IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
           AND SUBSTR (c.payment_term_code, 2, 1) IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
           AND SUBSTR (c.payment_term_code, 3, 1) IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
          )
       OR (    LENGTH (c.payment_term_code) = 4
           AND SUBSTR (c.payment_term_code, 1, 1) IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
           AND SUBSTR (c.payment_term_code, 2, 1) IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
           AND SUBSTR (c.payment_term_code, 3, 1) IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
           AND SUBSTR (c.payment_term_code, 4, 1) IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
          )
       OR (    LENGTH (c.payment_term_code) = 5
           AND SUBSTR (c.payment_term_code, 1, 1) IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
           AND SUBSTR (c.payment_term_code, 2, 1) IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
           AND SUBSTR (c.payment_term_code, 3, 1) IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
           AND SUBSTR (c.payment_term_code, 4, 1) IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
           AND SUBSTR (c.payment_term_code, 5, 1) IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
          )
   UNION
   SELECT ID, sap_code, longname, shortname, comments, 'Y', 'Y', active, created_by, updated_by, created_on, updated_on, 1
     FROM my_schema.my_other_table) tt

Вот так в 30 строк пиндосы защищаются от проникновения буковков в TO_NUMBER()

guest guest, (Updated )

Комментарии (6, +6)

mysql_real_escape_string / Говнокод #700 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
select 
--
(case
    when (sum(distinct sub.est_cost) - sum(distinct sub.act_cost)) > 0 then
      (sum(distinct sub.est_cost) - sum(distinct sub.act_cost))
    when (sum(distinct sub.est_cost) - sum(distinct sub.act_cost)) < 0 then
      (sum(distinct sub.est_cost) - sum(distinct sub.act_cost))
    else
       0
end)
--
from blablabla

Не пускайте бразильских футболистов к компьютеру!

guest guest, (Updated )

Комментарии (0)

mysql_real_escape_string / Говнокод #699 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
SELECT BE.SORT as SORT,BE.ID as ID,DATE_FORMAT(BE.TIMESTAMP_X, '%d.%m.%Y %H:%i:%s') as TIMESTAMP_X,BE.MODIFIED_BY as
 MODIFIED_BY,DATE_FORMAT(BE.DATE_CREATE, '%d.%m.%Y %H:%i:%s') as DATE_CREATE,BE.CREATED_BY as CREATED_BY,BE.IBLOCK_ID as
 IBLOCK_ID,BE.IBLOCK_SECTION_ID as IBLOCK_SECTION_ID,BE.ACTIVE as ACTIVE,IF(EXTRACT(HOUR_SECOND FROM BE.ACTIVE_FROM)>0,
 DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y %H:%i:%s'), DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y')) as ACTIVE_FROM,IF(EXTRACT(HOUR_SECOND FROM BE.ACTIVE_TO)>0, DATE_FORMAT(BE.ACTIVE_TO, '%d.%m.%Y %H:%i:%s'), DATE_FORMAT(BE.ACTIVE_TO, '%d.%m.%Y')) as
 ACTIVE_TO,IF(EXTRACT(HOUR_SECOND FROM BE.ACTIVE_FROM)>0, DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y %H:%i:%s'),
 DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y')) as DATE_ACTIVE_FROM,IF(EXTRACT(HOUR_SECOND FROM BE.ACTIVE_TO)>0, DATE_FORMAT(BE.ACTIVE_TO, '%d.%m.%Y %H:%i:%s'), DATE_FORMAT(BE.ACTIVE_TO, '%d.%m.%Y')) as DATE_ACTIVE_TO,BE.NAME as NAME,BE.PREVIEW_PICTURE as 
 PREVIEW_PICTURE,BE.PREVIEW_TEXT as PREVIEW_TEXT,BE.PREVIEW_TEXT_TYPE as PREVIEW_TEXT_TYPE,BE.DETAIL_PICTURE as
 DETAIL_PICTURE,BE.DETAIL_TEXT as DETAIL_TEXT,BE.DETAIL_TEXT_TYPE as DETAIL_TEXT_TYPE,BE.SEARCHABLE_CONTENT as
 SEARCHABLE_CONTENT,BE.WF_STATUS_ID as WF_STATUS_ID,BE.WF_PARENT_ELEMENT_ID as WF_PARENT_ELEMENT_ID,BE.WF_NEW as WF_NEW,if (BE.WF_DATE_LOCK is null, 'green', if(DATE_ADD(BE.WF_DATE_LOCK, interval 60 MINUTE)<now(), 'green', if(BE.WF_LOCKED_BY=0, 'yellow', 'red'))) as LOCK_STATUS,BE.WF_LOCKED_BY as WF_LOCKED_BY,DATE_FORMAT(BE.WF_DATE_LOCK, '%d.%m.%Y %H:%i:%s') as
 WF_DATE_LOCK,BE.WF_COMMENTS as WF_COMMENTS,BE.IN_SECTIONS as IN_SECTIONS,BE.SHOW_COUNTER as SHOW_COUNTER,BE.SHOW_COUNTER_START as
 SHOW_COUNTER_START,BE.CODE as CODE,BE.TAGS as TAGS,BE.XML_ID as XML_ID,BE.XML_ID as EXTERNAL_ID,BE.TMP_ID as
 TMP_ID,concat('(',U.LOGIN,') ',ifnull(U.NAME,''),' ',ifnull(U.LAST_NAME,'')) as USER_NAME,concat('(',UL.LOGIN,') ',ifnull(UL.NAME,''),' ',ifnull(UL.LAST_NAME,'')) as LOCKED_USER_NAME,concat('(',UC.LOGIN,') ',ifnull(UC.NAME,''),' ',ifnull(UC.LAST_NAME,'')) as CREATED_USER_NAME,L.DIR as LANG_DIR,B.LID as LID,B.IBLOCK_TYPE_ID as IBLOCK_TYPE_ID,B.CODE as
 IBLOCK_CODE,B.NAME as IBLOCK_NAME,B.XML_ID as IBLOCK_EXTERNAL_ID,B.DETAIL_PAGE_URL as DETAIL_PAGE_URL,B.LIST_PAGE_URL as
 LIST_PAGE_URL FROM b_iblock B INNER JOIN b_lang L ON B.LID=L.LID INNER JOIN b_iblock_element BE ON BE.IBLOCK_ID = B.ID INNER JOIN b_iblock_property FP1 ON FP1.IBLOCK_ID=B.ID AND FP1.CODE='DAY' INNER JOIN b_iblock_element_property FPV1 ON
 FP1.ID=FPV1.IBLOCK_PROPERTY_ID AND FPV1.IBLOCK_ELEMENT_ID=BE.ID INNER JOIN b_iblock_property_enum FPEN1 ON FP1.ID = FPEN1.PROPERTY_ID AND FPV1.VALUE_ENUM=FPEN1.ID INNER JOIN b_iblock_property FP2 ON FP2.IBLOCK_ID=B.ID AND FP2.CODE='MONTH' INNER JOIN
 b_iblock_element_property FPV2 ON FP2.ID=FPV2.IBLOCK_PROPERTY_ID AND FPV2.IBLOCK_ELEMENT_ID=BE.ID INNER JOIN b_iblock_property_enum FPEN2 ON FP2.ID = FPEN2.PROPERTY_ID AND FPV2.VALUE_ENUM=FPEN2.ID LEFT JOIN b_user U ON U.ID=BE.MODIFIED_BY LEFT JOIN b_user UL ON
 UL.ID=BE.WF_LOCKED_BY LEFT JOIN b_user UC ON UC.ID=BE.CREATED_BY WHERE 1=1 AND B.ID IN (0,72) AND ( (BE.WF_STATUS_ID=1 AND
 BE.WF_PARENT_ELEMENT_ID IS NULL) ) AND ((((BE.IBLOCK_ID = '72')))) AND (((BE.ACTIVE_TO >= now() OR BE.ACTIVE_TO IS NULL) AND
 (BE.ACTIVE_FROM <= now() OR BE.ACTIVE_FROM IS NULL))) AND ((((BE.ACTIVE='Y')))) AND (BE.IN_SECTIONS ='N' ) AND ((((FPEN1.VALUE LIKE
 '-1')))) AND ((((FPEN2.VALUE LIKE 'Март')))) ORDER BY BE.SORT asc

Вот что бывает когда человека заменет скрипт, причем написаные тупым человеком, ORM рулить.

guest guest, (Updated )

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