के साथ इन खंडों का उपयोग कैसे करते हैं मैं तैयार कथन का उपयोग कर नए एमएसक्ली इंटरफेस पर कुछ पुराना कोड ले जा रहा हूं, मुझे आईएन क्लॉज युक्त एसक्यूएल स्टेटमेंट्स में परेशानी हो रही है। मैं सिर्फ सामान्य रूप से इस करना होगा:आप mysqli तैयार कथन
$ids = '123,535,345,567,878'
$sql = "SELECT * FROM table WHERE id IN ($ids)";
$res = mysql_query($sql);
इस mysqli में कनवर्ट कर रहा है और तैयार बयान मैं समाधान के एक नंबर की कोशिश की है:
$ids = '123,535,345,567,878'
$ids = implode($ids,',');
$result = $msqli->prepare("SELECT foo,blar FROM table WHERE id IN (?));
$result->bind_param("i", $ids);
$result->execute();
ऊपर विफल रहता है और सरणी और फेरबदल में तत्वों की संख्या की गणना एसक्यूएल स्ट्रिंग में प्रश्न चिह्नों की संख्या और सरणी में प्रत्येक तत्व के लिए bind_parm को कॉल करने में विफल रहता है। बस अल्पविराम से अलग स्ट्रिंग का उपयोग करने में विफल रहता है।
मुझे इस पर Google में कोई अच्छा दस्तावेज़ नहीं मिल रहा है, तो आपने समस्या को हल कैसे किया है?
[? खंड विकल्प में PreparedStatement] की संभावित डुप्लिकेट (https://stackoverflow.com/questions/178479/preparedstatement -इन-क्लॉज-विकल्प) – bfavaretto