öncelikle cevabınız için teşekkür ederim,
Veritabanında mevcut ürünlerin listesini şu şekilde almayı denedim;
$dbProducts = [];
$urunListesi = $db->query("SELECT urun_kod FROM urun");
while ($row = $urunListesi->fetch(PDO::FETCH_ASSOC)) {
    $dbProducts[] = $row['urun_kod'];
}
Ardından eğer ürün yoksa şu şekilde işlemle devam ettim;
$missingProducts = array_diff($dbProducts, $allProducts);
foreach ($missingProducts as $missing) {
    $sifirla = $db->prepare("UPDATE urun SET urun_stok = 0 WHERE urun_kod = ?");
    $sifirla->execute([$missing]);
    echo "Eksik Ürün: {$missing} kodlu ürün XML dosyasında bulunmamaktadır. Stok sıfırlandı.<br>";
}
Ama dosya her çalıştığında mevcut xml'deki ürünleri kontrol edip bana her seferinde stok sıfırlandı bilgisi veriyor ve stoğu sıfırlıyor. Benim buradaki isteiğim aslında stok sayısı sıfırlanmış ürünleri bir daha kontrol etmesin veya bana mesaj vermesin.