ฉันอยากรู้ว่าเป็นไปได้ไหมที่จะผูกค่ากับตัวยึดตำแหน่งโดยใช้ PDO กรณีการใช้งานที่นี่กำลังพยายามส่งผ่านอาร์เรย์ของค่าเพื่อใช้กับ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();
?>
และมี PDO ผูกและอ้างอิงค่าทั้งหมดในอาร์เรย์
ในขณะที่ฉันทำ:
<?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();
?>
สิ่งใดบ้างที่จะได้งาน แต่เพียงแค่สงสัยว่ามีวิธีแก้ปัญหาในตัวฉันหายไปหรือไม่?