Bu soru burada zaten bir cevabı var:
- Can I bind an array to an IN() condition? 13 answers
Bu soru burada zaten bir cevabı var:
Genel olarak hazırlanmış deyimi tutucuları (parametre bağlama) kullanırken, bir yer tutucu her olay tam bir değişkeni tutar.
Birkaç geçmek için çalışıyoruz. Ne oluyor size parametreleri kaçtı ki temelde: Sizin :states içten ziyade ile '''SC'',''SD''' veya '\'SC\',\'SD\'' ile değiştirilir sadece ham {[(3)] } istediğin.
pinkgothic mutlak doğrudur. Ama 'devletler' bir dizi var ve bu dizi ile çalışmak istediğiniz, size sorunu var bence. Sen sorguda her değer için Tutucu'yu hazırlamak ettik.
$states = array('SC','SD');
$phArray = array();
$valArray = array();
foreach($ids AS $key=>$value){
array_push($phArray, ':PH' . $key);
$valArray[':PH' . $key] = $value;
}
$sql = 'select * from mytable where states in (' . implode(',', $phArray) . ')';
$params = array($valArray);
$result = $this->selectArrayAssoc($sql, $params);