MySQLI 쿼리, 좋아하고 같은 쿼리에서는 그대로 작동하지 않습니다.

StackOverflow https://stackoverflow.com/questions/1824962

  •  22-07-2019
  •  | 
  •  

문제

그래서 이것은 내 쿼리입니다. 승인 된 승인이 0 또는 1으로 설정되어 있는지는 중요하지 않습니다. 어쨌든 모든 행을 줄 것입니다.

SELECT * 
FROM `tutorials` 
WHERE tags LIKE '% php %' OR tags LIKE 'php %' OR tags LIKE '% php' OR tags = 'php' 
AND approved=1

나는 그것이 OR 때문이라고 생각하지만 누군가가 이것에 대해 나를 도울 수 있다면 :)

도움이 되었습니까?

해결책

브래킷을 시도하십시오

SELECT * 
FROM `tutorials` 
WHERE   (       tags LIKE '% php %' 
            OR  tags LIKE 'php %' 
            OR  tags LIKE '% php' 
            OR  tags = 'php' 
        )
AND approved=1

다른 팁

나는 당신이 콜론을 놓치고 있다고 생각합니다.

SELECT * 
FROM `tutorials` 
WHERE (tags LIKE '% php %' OR tags LIKE 'php %' OR tags LIKE '% php' OR tags = 'php')
AND approved=1

콜론을 포함 해야하는 이유는 또는 운영자가 같은 수준의 우선 순위에 있기 때문입니다. 콜론을 생략하면 쿼리가 다음과 같이 구문 분석됩니다.

SELECT * 
FROM `tutorials` 
WHERE (tags LIKE '% php %' OR (tags LIKE 'php %' OR (tags LIKE '% php' OR (tags = 'php' 
AND approved=1))))

특히 쿼리에 긴 OR 및 및 연산자 목록을 사용할 때는 콜론을 사용하여 의도를 명확하게하는 것이 좋습니다. MySQL (일반적으로 다른 SQL 방언에 공통적)의 연산자 우선 순위의 전체 목록은 참조하십시오. MySQL 매뉴얼.

나는 당신이 정확히 원하는 것을 얻지 못했습니다. 그러나 이것은 당신이 찾고있는 것일 수 있습니다

*에서 선택하십시오 tutorials 어디 ( ' % php %'와 같은 태그 또는 'php %'와 같은 태그 또는 ' % php'또는 태그 = 'php'와 같은 태그 ) 승인 = 1

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top