쉼표로 구분 된 문자열의 값에서 테이블의 행 찾기

무하마드 우마르

나는 쿼리를 작성하려고하는데 PHP 스타터입니다.

$minPrice = trim($_REQUEST['minPrice']);
            $maxPrice = trim($_REQUEST['maxPrice']);
            $minCarat = trim($_REQUEST['minCarat']);
            $maxCarat = trim($_REQUEST['maxCarat']);
            $color    = trim($_REQUEST['color']);
            $cut      = trim($_REQUEST['cut']);
            $clarity  = trim($_REQUEST['clarity']);
            $type  = trim($_REQUEST['type']);

type, clarity 및 cut은 쉼표로 구분 된 문자열입니다.

예 : $ type = "1000,1002,1001";

$statement = $conn->prepare('SELECT * FROM diamondsList WHERE price >= :minPrice AND price <= :maxPrice AND carat >= :minCarat AND carat <= :maxCarat AND cut IN(' . $cut . ') AND clarity IN ('.$clarity.') AND color IN ('. $color.') AND type IN (' . $type.')');

오류는

{"error":"SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND clarity IN () AND color IN () AND type IN ()' at line 1"}

첫째, 쿼리가 IN ( '. $ cut.')에서 오류를 제공하는지 확실하지 않습니다. 구문에 어떤 문제가 있습니까?

둘째, 구문이 수정되면 쿼리가 정확합니까?

수정 후 다음과 같은 쿼리가 있습니다. searchDiamonds&minPrice=0&maxPrice=10000&minCarat=0&maxCarat=5&color=2000,2001&type=1000,1001&cut=3000,3001&clarity=4000,4001

표의 두 항목은 다음과 같습니다.

price carat type   color cut   clarity  
2000  2     1000   2000  3000  4000

그러나 아무것도 선택되지 않고 항상 결과가 0입니다.

쿼리는 무엇이어야합니까?

볼칸 울루 쿠트

에서 빈 문자열을 사용할 수 없습니다 IN. 예를 들어 $cut설정 되어 있는지 확인 하고 비어 있으면 쿼리를 변경해야합니다. 이렇게 :

$statement = $conn->prepare('SELECT * FROM diamondsList WHERE price >= :minPrice AND price <= :maxPrice AND carat >= :minCarat AND carat <= :maxCarat ' . (!empty($cut) ? ('AND cut IN(' . $cut . ')') : '') . ' AND clarity IN ('.$clarity.') AND color IN ('. $color.') AND type IN (' . $type.')');

sqlfiddle 에서 쿼리를 테스트 했으며 PHP에서 올바르게 형식화 된 경우 제대로 작동합니다.

SELECT * FROM diamondsList 
WHERE price >= 0
AND price <= 10000 
AND carat >= 0 
AND carat <= 5 
AND cut IN(3000,3001) 
AND clarity IN (4000,4001) 
AND color IN (2000,2001) 
AND type IN (1000,1001)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

SQL Server에서 테이블의 정수 행을 쉼표로 구분 된 문자열로 변환하는 방법

분류에서Dev

파이썬의 문자열 객체에서 쉼표로 구분 된 값 읽기

분류에서Dev

쉼표로 구분 된 문자열 mysql에서 값 찾기

분류에서Dev

쉼표로 구분 된 목록에서 문자열 값 찾기

분류에서Dev

쉼표로 구분 된 값이있는 행에있는 행 찾기 동일한 테이블 SQL

분류에서Dev

행 이름을 유지하면서 쉼표로 구분 된 문자열의 열 사이의 공통 요소 (동일 행에서) 가져 오기

분류에서Dev

쉼표로 구분 된 문자열의 값을 기반으로 HTML 추가

분류에서Dev

두 개의 쉼표로 구분 된 문자열을 비교하고 누락 된 값 찾기

분류에서Dev

쉼표로 구분 된 문자열에서 중복 항목의 색인 위치 찾기

분류에서Dev

쉼표로 구분 된 단일 문자열에서 고유 한 값 찾기

분류에서Dev

테이블의 열 (20000 행 포함) 인 쉼표로 구분 된 문자열에 대한 저장 프로 시저를 원함

분류에서Dev

두 개의 쉼표로 구분 된 문자열의 Foreach 값 PHP

분류에서Dev

PHP의 트리에서 쉼표로 구분 된 값으로 문자열 변환

분류에서Dev

쉼표로 구분 된 문자열에 대한 정규식 (쉼표로 구분 된 2 개의 문자열)

분류에서Dev

한 열의 값과 일치하고 다른 열의 쉼표로 구분 된 문자열에 하위 문자열이있는 테이블에서 행을 가져옵니다.

분류에서Dev

PHP의 연관 배열에 쉼표로 구분 된 문자열

분류에서Dev

JavaScript-많이 중첩 된 배열의 조회에서 쉼표로 구분 된 문자열 만들기

분류에서Dev

Oracle (> 11g)의 쉼표로 구분 된 목록에서 테이블 만들기-입력 문자열 제한 4000 자

분류에서Dev

쉼표로 구분 된 문자열에서 성, 이름 구분

분류에서Dev

쉼표로 구분 된 데이터베이스 열에서 항목 찾기

분류에서Dev

REAL의 배열 행을 쉼표로 구분 된 문자열로 변환

분류에서Dev

Excel은 한 행의 값을 쉼표로 구분 된 문자열로 결합합니다.

분류에서Dev

셀의 쉼표로 구분 된 값에서 고유 한 값 가져 오기

분류에서Dev

SQL : 테이블에서 쉼표로 구분 된 열의 항목 수

분류에서Dev

쉼표로 구분 된 변수를 반복하고 각 항목을 테이블 SQL의 각 행에 입력

분류에서Dev

공백없이 쉼표로 구분 된 문자열에서 ArrayList 만들기

분류에서Dev

.NET에서 파이프 기호로 구분 된 쉼표로 구분 된 문자열이있는 정규식

분류에서Dev

python3의 문자열에서 마지막 값이 아닌 쉼표로 구분 된 값을 찾는 정규식 문제

분류에서Dev

SQL Server의 쉼표로 구분 된 열 값에서 피벗

Related 관련 기사

  1. 1

    SQL Server에서 테이블의 정수 행을 쉼표로 구분 된 문자열로 변환하는 방법

  2. 2

    파이썬의 문자열 객체에서 쉼표로 구분 된 값 읽기

  3. 3

    쉼표로 구분 된 문자열 mysql에서 값 찾기

  4. 4

    쉼표로 구분 된 목록에서 문자열 값 찾기

  5. 5

    쉼표로 구분 된 값이있는 행에있는 행 찾기 동일한 테이블 SQL

  6. 6

    행 이름을 유지하면서 쉼표로 구분 된 문자열의 열 사이의 공통 요소 (동일 행에서) 가져 오기

  7. 7

    쉼표로 구분 된 문자열의 값을 기반으로 HTML 추가

  8. 8

    두 개의 쉼표로 구분 된 문자열을 비교하고 누락 된 값 찾기

  9. 9

    쉼표로 구분 된 문자열에서 중복 항목의 색인 위치 찾기

  10. 10

    쉼표로 구분 된 단일 문자열에서 고유 한 값 찾기

  11. 11

    테이블의 열 (20000 행 포함) 인 쉼표로 구분 된 문자열에 대한 저장 프로 시저를 원함

  12. 12

    두 개의 쉼표로 구분 된 문자열의 Foreach 값 PHP

  13. 13

    PHP의 트리에서 쉼표로 구분 된 값으로 문자열 변환

  14. 14

    쉼표로 구분 된 문자열에 대한 정규식 (쉼표로 구분 된 2 개의 문자열)

  15. 15

    한 열의 값과 일치하고 다른 열의 쉼표로 구분 된 문자열에 하위 문자열이있는 테이블에서 행을 가져옵니다.

  16. 16

    PHP의 연관 배열에 쉼표로 구분 된 문자열

  17. 17

    JavaScript-많이 중첩 된 배열의 조회에서 쉼표로 구분 된 문자열 만들기

  18. 18

    Oracle (> 11g)의 쉼표로 구분 된 목록에서 테이블 만들기-입력 문자열 제한 4000 자

  19. 19

    쉼표로 구분 된 문자열에서 성, 이름 구분

  20. 20

    쉼표로 구분 된 데이터베이스 열에서 항목 찾기

  21. 21

    REAL의 배열 행을 쉼표로 구분 된 문자열로 변환

  22. 22

    Excel은 한 행의 값을 쉼표로 구분 된 문자열로 결합합니다.

  23. 23

    셀의 쉼표로 구분 된 값에서 고유 한 값 가져 오기

  24. 24

    SQL : 테이블에서 쉼표로 구분 된 열의 항목 수

  25. 25

    쉼표로 구분 된 변수를 반복하고 각 항목을 테이블 SQL의 각 행에 입력

  26. 26

    공백없이 쉼표로 구분 된 문자열에서 ArrayList 만들기

  27. 27

    .NET에서 파이프 기호로 구분 된 쉼표로 구분 된 문자열이있는 정규식

  28. 28

    python3의 문자열에서 마지막 값이 아닌 쉼표로 구분 된 값을 찾는 정규식 문제

  29. 29

    SQL Server의 쉼표로 구분 된 열 값에서 피벗

뜨겁다태그

보관