• 16-11-2019, 23:07:45
    #1
    Merhaba Arkadaşlar if(!mysql_affected_rows()){?> kodu ile mysql de çekiyordum ama pdo olarak nasıl kullanıcam ?
    $sorgu->rowcount() denedim ama
    Fatal error: Call to a member function rowcount() on null in.../dosya.phpon line38 şeklinde hata alıyorum. sorun nedir acaba ?
    Kodlar;
    <?php require_once 'header.php';
    
    islemkontrol();
    
    
    ?>
    
    
    <div class="container">
    <div class="my-products clearfix">
    <h1>SİPARİŞLERİM</h1>
    
    <div class="list">
    <table class="table table-striped table-hover">
    <thead>
    <tr>
    <th>
    # Sipariş NO
    </th>
    
    
    <th>
    Sipariş Tutarı
    </th>
    <th>
    Durum
    </th>
    <th>
    İşlemler
    </th>
    </tr>
    </thead>
    <tbody>
    <?php $Sorgu=$db->prepare("SELECT * FROM detay WHERE id = '{$_SESSION['id']}' ORDER BY sno DESC");
    
    if(!mysql_affected_rows()){?> /* DEĞİŞTİRİLEN KOD;  if ($sorgu->rowcount()) {?> */
    
    <tr>
    <td colspan="7">
    Siparişiniz bulunmuyor
    </td>
    </tr>
    <?php }else{
    while($Sonuc = Sonuc($Sorgu)){?>
    <tr>
    <td>
    <a href="Siparis/<?php echo $Sonuc->sno;?>.html"><b># <?php echo $Sonuc->sno;?></b></a>
    </td>
    
    
    <td>
    <?php echo $Sonuc->fiyat;?> TL
    </td>
    <td>
    <span class="label label-sm label-warning"> Onay Bekliyor </span>
    </td>
    <td>
    <a href="siparis-detay.php/<?php echo $Sonuc->id;?>.html" class="btn btn-xs btn-success">
    <i style="margin-top: 2px;" class="fa fa-eye"></i> Detaylar
    </a>
    </td>
    </tr>
    <?php }}?>
    </tbody>
    </table>
    </div>
    </div>
    </div>
    
    <?php require_once 'footer.php'; ?>
  • 16-11-2019, 23:08:47
    #2
    rowCount yazıp dener misiniz
  • 16-11-2019, 23:11:15
    #3
    berkaycatak adlı üyeden alıntı: mesajı görüntüle
    rowCount yazıp dener misiniz
    aynı hocam değişen bişey olmadı
  • 16-11-2019, 23:16:50
    #4
    Örnek bir veri çekme sorgusu. En sondaki fetch_assoc’u yazmanız gerekiyor. Query dizisi oluşturur bu. Daha sonra C büyük olacak şekilde rowCount ile çekebilirsiniz.

    $query = $db->query("SELECT * FROM uyeler WHERE uye_id = '{$id}'")->fetch(PDO::FETCH_ASSOC);
    if ($query->rowCount() ){
    print_r($query);
    }
  • 16-11-2019, 23:26:49
    #5
    berkaycatak adlı üyeden alıntı: mesajı görüntüle
    Örnek bir veri çekme sorgusu. En sondaki fetch_assoc’u yazmanız gerekiyor. Query dizisi oluşturur bu. Daha sonra C büyük olacak şekilde rowCount ile çekebilirsiniz.

    $query = $db->query("SELECT * FROM uyeler WHERE uye_id = '{$id}'")->fetch(PDO::FETCH_ASSOC);
    if ($query->rowCount() ){
    print_r($query);
    }
    hocam bu seferde null dan boolean a döndü
    [B]
    Fatal error[/B]: Call to a member function rowcount() on boolean in
  • 17-11-2019, 08:25:24
    #6
    Bir çok yanlış şey bulunuyor prepare fonksiyonu içinden dışarıdan sayısal değer atıyorsunuz daha güvenli olması için prepare kullanmışsınız ama yine güvenlik zafiyeti vermşsiniz prepare tek başına çalışmayacaktır prepare fonksiyonu kullanırken execute yaptırmak zorundasınız normalde girilien değerler execute içine atılır öylece sorgu atılır .

    Sorununuza gelecek olursak ilk önce soruguyu çalıştırıp öyle değerleri alacaksınız ;
    $sorgu->execute();
    $result = $sorgu->rowCount();
  • 18-11-2019, 13:13:56
    #7
    asanprogrammer adlı üyeden alıntı: mesajı görüntüle
    Bir çok yanlış şey bulunuyor prepare fonksiyonu içinden dışarıdan sayısal değer atıyorsunuz daha güvenli olması için prepare kullanmışsınız ama yine güvenlik zafiyeti vermşsiniz prepare tek başına çalışmayacaktır prepare fonksiyonu kullanırken execute yaptırmak zorundasınız normalde girilien değerler execute içine atılır öylece sorgu atılır .

    Sorununuza gelecek olursak ilk önce soruguyu çalıştırıp öyle değerleri alacaksınız ;
    $sorgu->execute();
    $result = $sorgu->rowCount();
    saolun hocam sizin mesajınızı okumadan sorunu çözmüştüm şimdi konuyu kilitlemeye gelmiştim sorunu sizin yazdıgınız gibi çözdüm bilgilendirme için teşekkürler