IN () parametreleriyle PostgreSQL PREPARE sorgusu


10

PHP gibi bir sorgu hazırlamak çalışıyorum:

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

ve ardından şu şekilde çalıştırın:

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

Sorun hazırlanmak gibi sabit bir dizi parametre bekliyor olarak inşa değerleri bir dizi geçemez olmasıdır. Parametreleri dinamik yapmanın bir yolu var mı?

Yanıtlar:


15

Değer serisini temsil etmek için bir dizi kullanın:

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[]Planlayıcı türü kendi başına çıkarabiliyorsa, sorgudaki döküm gereksiz olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.