मुझे यह जानने की उत्सुकता है कि क्या पीडीओ का उपयोग करके किसी प्लेसहोल्डर के लिए मूल्यों की एक सरणी को बांधना संभव है। यहां उपयोग मामला एक IN()
शर्त के साथ उपयोग के लिए मूल्यों की एक सरणी को पारित करने का प्रयास कर रहा है ।
मैं ऐसा कुछ करने में सक्षम होना चाहता हूं:
<?php
$ids=array(1,2,3,7,8,9);
$db = new PDO(...);
$stmt = $db->prepare(
'SELECT *
FROM table
WHERE id IN(:an_array)'
);
$stmt->bindParam('an_array',$ids);
$stmt->execute();
?>
और पीडीओ बाँध और सरणी में सभी मूल्यों को उद्धृत किया है।
फिलहाल मैं कर रहा हूँ:
<?php
$ids = array(1,2,3,7,8,9);
$db = new PDO(...);
foreach($ids as &$val)
$val=$db->quote($val); //iterate through array and quote
$in = implode(',',$ids); //create comma separated list
$stmt = $db->prepare(
'SELECT *
FROM table
WHERE id IN('.$in.')'
);
$stmt->execute();
?>
जो निश्चित रूप से काम करता है, लेकिन सोच रहा था कि क्या कोई समाधान है जो मुझे याद आ रहा है?