folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Pdo Güncellemede Sıkıntı



Pdo Güncellemede Sıkıntı

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    juniourfalcon
    juniourfalcon's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek

    Mürid ve mürideler pdo veritabanı kullanıyorum ve kafasına göre bazen güncelliyor bazen güncellemiyor kodda nerede hata yaptığımı bir bakabilirmisiniz.. verileri bot otomatik çekiyor onda sıkıntı yok yazıdırınca eksiksiz veriyor yalnız güncellemede sıkıntı veiryor.

    iki tane güncelleme yaptım bir tanesi tabloları boşaltsın diğeride bottan çektiği verileri eklemesi için ...

     

     

    <?php

    require('inc/simple_html_dom.php');

    include('inc/ayar.php');

    include("inc/fonksiyon.php");

    @$id = $_GET[id];

    @$_SESSION["id"]=$id;

     

    $sql = $db->prepare("SELECT * FROM oyunlar WHERE id= ?");

    $sql->execute(array($id));

    $row=$sql->fetch(PDO::FETCH_ASSOC);

     

    $verit=$row['verit'];

    $slink=$row['slink'];

     

    $html = file_get_html($slink);

    $table = $html->find('table', 0);

     

    $sorgu = $db->prepare("SELECT COUNT(*) FROM verit");

    $sorgu->execute();

    $say = $sorgu->fetchColumn();

     

    $rowData[0]="";

    $rowData[1]="";

    $rowData[2]="";

    $rowData[3]="";

     

    for($a = 1; $a < $say; $a++) {

      $guncelle = $db->prepare("UPDATE verit SET epin=?, kars=?, afiyat=?, stok=? WHERE id = ?");

    $guncelle->execute(array($rowData[0],$rowData[1],$rowData[2],$rowData[3],$a));

    }

     

    $a=0;

     

    foreach($table->find('tr') as $row) {

    $rowData = array();

    foreach($row->find('td') as $cell) {

    $rowData[] = $cell->innertext;

    }

    @$rowData[0]= replaceSpace($rowData[0]);

    @$rowData[1]= replaceSpace($rowData[1]);

    @$rowData[2]= replaceSpace($rowData[2]);

    @$rowData[3]= replaceSpace($rowData[3]);

     

    $guncelle = $db->prepare("UPDATE $verit SET epin=?, kars=?, afiyat=?, stok=? WHERE id = ?");

    $guncelle->execute(array($rowData[0],$rowData[1],$rowData[2],$rowData[3],$a));

     

    $a++;

    }

    ?>

     

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PcK0
    PcK0's avatar
    Kayıt Tarihi: 13/Nisan/2007
    Erkek

    Update için niye verilerin sıralı idye sahip olmasını bekliyorsun? Update sorgusunda where id yerine where oyunkod ya da where oyunadi gibi eşsiz bir kolon kullanmalısın. ID değişebilir oyun adı değişmez.

    Ayrıca bir kere prepare edip defalarca execute edebilirsin.


    Sadece bi imza..
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    juniourfalcon
    juniourfalcon's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek

    up

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    coder2
    coder2's avatar
    Kayıt Tarihi: 15/Mart/2007
    Erkek

    Hocam kodlarda bir sıkıntı göremedim fakat

    ilk güncellemede $verit  , ikinci de ise verit kullanmışsın bunlar doğru mu tablo yapını bilmediğim için birşey diyemiyorum ama kodlar doğru.  

    Not: Kodlarının karmaşıklığı ise ayrı bir konu bence biraz daha düzenli kod yazmalısın ayrıca fonksiyon class vs kullanımı işini kolaylaştırır.


    Önceleri Kızlar Utanınca Kızarırdı Şimdilerde Kızarınca Utanıyorlar..
Toplam Hit: 880 Toplam Mesaj: 4
pdo