IN () 파라미터를 사용한 PostgreSQL PREPARE 쿼리


10

PHP에서 쿼리를 준비하려고합니다.

pg_prepare($con, "prep", "select * from test where tid in ($1)");

그런 다음 다음을 사용하여 실행하십시오.

$strpar = "3,4,6,8,10";
pg_execute($con, "prep", array($strpars));

문제는 준비가 고정 된 수의 매개 변수를 기대할 때 작성된 일련의 값을 전달할 수 없다는 것입니다. 매개 변수를 동적으로 만드는 방법이 있습니까?

답변:


15

배열을 사용하여 일련의 값을 나타냅니다.

pg_prepare($con, "prep", "select * from test where tid=ANY($1::int[])");

$strpar = "{3,4,6,8,10}";
pg_execute($con, "prep", array($strpars));

int[]플래너가 자체적으로 유형을 유추 할 수있는 경우 쿼리 의 캐스트는 불필요 할 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.