PostgreSQL PREPARE IN () मापदंडों के साथ क्वेरी


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[]क्वेरी में कास्ट भी शानदार हो सकता है अगर योजनाकार स्वयं के प्रकार का अनुमान लगाने में सक्षम हो।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.