आप एक ही प्लेसहोल्डर में एकाधिक मानों को पास नहीं कर सकते। प्रत्येक मान को IN ()
. में पास करने के लिए आपको एक अलग प्लेसहोल्डर दर्ज करना होगा . चूंकि आप नहीं जानते कि कितने होंगे, ?
. का उपयोग करें नामित पैरामीटर के बजाय।
$values = explode(',', $values) ;
$placeholders = rtrim(str_repeat('?, ', count($values)), ', ') ;
$query = "SELECT * FROM table WHERE id IN ($placeholders)";
$stm = $db->prepare($query) ;
$stm->execute($values) ;