PDO ve tabloların IN SQL [yinelenen]

2 Cevap php

Bu soru burada zaten bir cevabı var:

2 Cevap

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);