MySQL 준비 문에서 가변 크기 IN 절을 어떻게 처리할 수 있나요?
MySQL 준비된 문에서 가변 크기 변수 목록 처리
MySQL의 준비된 문은 동적 쿼리를 실행하는 안전하고 효율적인 방법을 제공합니다. 그러나 값의 개수를 알 수 없는 IN 절과 같이 다양한 개수의 인수가 포함된 쿼리를 처리할 때 문제가 발생합니다.
해결책 1: 임시 테이블 사용
한 가지 접근 방식은 임시 테이블을 만들고 원하는 값을 삽입하는 것입니다. 그러면 쿼리가 임시 테이블에 조인되어 관련 데이터를 검색할 수 있습니다. 이 솔루션은 큰 값 목록에 적합할 수 있습니다.
해결책 2: Implode 함수 활용
또 다른 기술은 implode() 함수를 사용하여 IN 절을 만드는 것입니다. 동적으로. 다음 PHP 코드는 방법을 보여줍니다.
// Define the query with a placeholder IN clause $sql = 'SELECT age, name FROM people WHERE id IN (%s)'; // Get the number of parameters in the IN clause $parmcount = count($parms); // Create a placeholder string for the IN clause (e.g., "?, ?, ?, ?") $inclause = implode(',', array_fill(0, $parmcount, '?')); // Format the query with the dynamic IN clause $preparesql = sprintf($sql, $inclause); // Prepare and execute the statement $st = $dbh->prepare($preparesql); $st->execute($parms);
솔루션 비교
대규모 목록의 경우 임시 테이블 접근 방식이 더 효율적일 수 있는 반면, 내포 솔루션은 더 간단합니다. 더 작은 목록을 위한 잠재적으로 더 빠른 옵션입니다.
솔루션의 간결한 버전 2
간결한 솔루션을 원하는 경우:
$st = $dbh->prepare(sprintf('SELECT age, name FROM people WHERE id IN (%s)', implode(',', array_fill(0, count($parms), '?')))); $st->execute($parms);
위 내용은 MySQL 준비 문에서 가변 크기 IN 절을 어떻게 처리할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Laravel Back End : Part 2, React가있는 React 앱 구축

PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법
