• 15-02-2021, 03:52:39
    #1
    Merhaba arkadaşlar, eski sürüm php ile kullandığım kodlar yeni sürüm php de çalışmıyor.

    Amaç, cronfragman dan random 3 içerik alıp fragman isimli tablo ya atmak. Daha sonra random alınan 3 içeriği silmek.

    Bu kodları pdo ile nasıl uyumlu hale getirebilirim acaba ?

    Yardımlarınız için şimdiden teşekkürler.

    <?php

    $q = "SELECT * FROM `cronfragman` ORDER BY RAND() LIMIT 3";
    $sql = mysql_query($q);
    while($rs=mysql_fetch_assoc($sql))
    {
    $query = "INSERT INTO `fragman` SET `baslik`='{$rs['baslik']}', `seo`='{$rs['seo']}', `tarih`='{$rs['tarih']}'";
    mysql_unbuffered_query($query);
    $ids[] = $rs['id'];
    }
    if(is_array($ids))
    mysql_query("DELETE FROM `cronfragman` WHERE id IN (".implode(',',$ids).")");

    ?>
  • 15-02-2021, 04:53:57
    #2
    try{
    $dbname="";
    $user = "";
    $password="";
    $db = new PDO("mysql:host=localhost;dbname=$dbname",$user,$password);
    }catch(PDOException $e){
    print $e->getMessage();
    }
    
    
    $p = $db->query("SELECT * FROM `cronfragman` ORDER BY RAND() LIMIT 3");
    $rows = $p->fetchAll(PDO::FETCH_OBJ);
    $insert = $db->prepare("INSERT INTO fragman SET baslik = :baslik, seo = :seo, tarih = :tarih");
    $delete = $db->prepare("DELETE FROM cronfragman WHERE id = :id");
    foreach($rows as $row):
    $insert->execute([
    "baslik" => $row->baslik,
    "seo" => $row->seo,
    "tarih" => $row->tarih
    ]);
    $delete->execute([
    "id" => $row->id
    ]);
    endforeach;
  • 15-02-2021, 23:46:37
    #3
    Çok teşekkürler hocam ilginiz için, sorunsuz çalıştı.