FSahin adlı üyeden alıntı: mesajı görüntüle
Alanları kendinize göre değiştirin ve veritabanı dosyasını php sayfasının başına include edin. Bu sayfayı da cron'un kontrol edeceği sayfa adı şeklinde kaydedin hostunuza.

$users = $db->prepare('SELECT * FROM users WHERE status = ? AND premium_due < NOW()');
$users->execute([1]);
$users = $users->fetchAll(PDO::FETCH_OBJ);

foreach($users as $user){
    $update = $db->prepare('UPDATE users SET status = ? WHERE ID = ?');
    $update->execute([2,$user->ID]);
}
Cron ayarlarını şu şekilde yapmalısınız:
https://prnt.sc/13ntp6p
bu kod işe yaramadı hocam ilk çalıştırdığımda status seviyesi 1 olanların hepsini 2ye çevirdi

<?php
$serverx = 'localhost';
$usernamex = 'root';
$passwordx = '';
$database = 'uyelikcron';
$date = date('d.m.Y');
try{
$db = new PDO("mysql:host=$serverx;dbname=$database ;", $usernamex, $passwordx);
} catch(PDOException $e){
die( "Connection failed: " . $e->getMessage());
}
$users = $db->prepare("SELECT * FROM users WHERE status = ? AND premium_bitis < $date");
$users->execute([2]);
$users = $users->fetchAll(PDO::FETCH_OBJ);

foreach($users as $user){
$update = $db->prepare('UPDATE users SET status = ? WHERE id = ?');
$update->execute([1,$user->id]);
}

?>
böyle yaptım bu da bişey değiştirmedi