TuncerSK adlı üyeden alıntı: mesajı görüntüle
Selamlar arkadaşlar,
PDO ile MsSQL veri tabanına bağlandım. Bazı bilgileri çekip işlemem gerekli. Bir kısmını hallettim fakat çözemediğim bir durum var.

Kodlarım şu şekilde ve bu kısım güzel şekilde çalışıyor.

<?php
    $stok_listesi = $db->prepare("SELECT * from STOCK where STOCKID = '118385'");
    $stok_listesi->execute();
    $stok_listesini_getir=$stok_listesi->fetch(PDO::FETCH_ASSOC);

        echo "<pre>";
                print_r ($stok_listesini_getir);
        echo "</pre>";
?>
Fakat STOCKID = '118385' olan kısmı ben sabit tutmayıp değişken atamak istiyorum. Ve bu değişken birden çok array içeriyor. 3 tane sonuçta gelebilir 50 tanede. O değişkeni oraya yazınca çıktı alamıyorum. Eğer array bir taneyse sonuç alıyorum fakat 1den fazla ise veri gelmiyor.

Yani şu şekilde yapınca bir sonuç alamadım.


<?php
    $stok_listesi = $db->prepare("SELECT * from STOCK where STOCKID = '{$getir['RECEIPTID']}'");
    $stok_listesi->execute();
    $stok_listesini_getir=$stok_listesi->fetch(PDO::FETCH_ASSOC);

        echo "<pre>";
                print_r ($stok_listesini_getir);
        echo "</pre>";
?>
RECEIPTID ile gelen sonuçlarda sorun yok onları tek tek sabit kullanırsam sonuç alıyorum fakat değişken olarak beceremedim.

Yardımcı olabilirmisiniz rica etsem.
Eğer STOCKID değeri birden fazla da olabiliyorsa öncelikle SQL sorgunuzu değiştirmeniz gerekiyor. Daha sonra fetch değil fetchAll metodunu kullanmanız gerekiyor ki birden fazla sonuç dönmesi durumunda erişebilesiniz.

<?php
$stok_listesi = $db->prepare("SELECT * FROM STOCK WHERE STOCKID IN (:stokids)");
$stok_listesi->execute(['stokids' => implode(',', $getir['RECEIPTID']]);

$stok_listesini_getir = $stok_listesi->fetchAll(PDO::FETCH_ASSOC);
echo '<pre>';
print_r($stok_listesini_getir);
echo '</pre>';