MySQL PHP - SELECT WHERE ID = array()?
중복 가능성:
배열을 사용한 MySQL 조회
mysql에 배열 전달
나는 PHP로 배열을 가지고 있습니다:
$array = array(1, 4, 5, 7);
보시다시피, 저는 다양한 값들을 가지고 있지만, 저는 MYSQL 문을 작성하고 싶습니다. 그것은 다음과 같은 것들을 확인할 것입니다.id
배열의 모든 값과 같습니다.예를 들어, 행에 다음이 있는 경우id
1의 경우 해당 행을 반환하며, 4, 5 및 7에 대해서도 마찬가지입니다.배열의 길이는 프로그램의 특성에 따라 달라질 수 있기 때문에 문제가 발생합니다.그냥 해도 될까요?
SELECT ...
FROM ...
WHERE id = '$array'
아니면 더 좋은 방법이 있을까요?
만약 제가 확실하지 않다면, 저에게 더 많은 정보를 요청해주세요.
사용하다IN
.
$sql = 'SELECT *
FROM `table`
WHERE `id` IN (' . implode(',', array_map('intval', $array)) . ')';
당신이 찾고 있는 것은IN()
진술.지정된 필드에 하나 이상의 값이 포함되어 있는지 테스트합니다.
SELECT * FROM `Table` WHERE `id` IN (1, 2, 3)
간단한 루프를 사용하여 변환할 수 있습니다.$array
변수를 올바른 형식으로 변환합니다.어레이 값이 프런트 엔드에서 오는 경우 SQL 주입을 주의해야 합니다.
사용하기만 하면 됩니다.ID IN ()
구문:
$sql = "SELECT FROM `table` WHERE `ID` IN (".implode(',',$array).")";
다음과 같이 쿼리를 작성할 수 있습니다.
select * from table where id in (1, 4, 6, 7)
필요한 만큼 값을 추가할 수 있습니다.
다음을 사용할 수 있습니다.IN
연산자:
$sql = 'SELECT FROM WHERE id IN (' . implode(",", $array) . ')';
MySQL에는 목록에서 사용할 수 있는 값의 수에 대한 제한이 있을 수 있습니다.IN
교환입니다.
넌 할 수 있다.SELECT WHERE id IN (item1, item2...)
PHP 배열을 반복하여 쿼리를 위한 배열을 작성합니다.
언급URL : https://stackoverflow.com/questions/9476146/mysql-php-select-where-id-array
'programing' 카테고리의 다른 글
노드에서 setTimeout은 어떻게 작동합니까?JS? (0) | 2023.08.24 |
---|---|
Android 명령줄 도구 sdkmanager에 항상 표시됨: 경고: 설정을 만들 수 없음 (0) | 2023.08.24 |
CSS 파일에 @charset "UTF-8"을 지정하는 이유는 무엇입니까? (0) | 2023.08.24 |
클래스 전환을 위한 Angular ngClass 및 클릭 이벤트 (0) | 2023.08.24 |
jQuery UI 아코디언은 여러 섹션을 열어두나요? (0) | 2023.08.24 |