Yukarı satırı kontrol etmemiştim. heheheh iki iş aynı anda olursa hata oluyor. şimdi algoritmana bakalım.;
$send_wpiban = $rs2['send_wpiban'];
$ttutar = $rs2['tutar'];
$tid = $rs2['id'];
}
burada öncelikle tümünü çekiyorsun. ve en sona atadığın işlemdeki tutar kalıyor. şöyle düşünebilirsin 500 satır varsa en sonra tutar ne ise o kalıyor. burayı tamamlıyorsun.
sonra tekrar bağlantı atıyorsun (buda yanlış) $baglanti = new PDO // zaten var olan bir pdo var üstten görülen tekrar açıyorsun. sonra işlemerin içinden;
$query = $db->prepare("UPDATE users SET balance = balance + :ttutar WHERE wpiban = :wpiban"); yapıyorsun. bu durumda en sondaki ile işlemlerin tekrar birleşiyor fazla rakam yazıyor.
bu sistemi komple değiştirmen lazım;
while($rs2 = $statement2->fetch()){
$send_wpiban = $rs2['send_wpiban'];
$ttutar = $rs2['tutar'];
$tid = $rs2['id'];
}
işlemlerini bu while içine al.
kısaca onay 0 olanları buldun -> user balanceler update ettin, ödeme onayını 1 ' e çektin işlemin bitti bu kadar.
buda biraz sıkıntılı olur 5000 işlem varsa, tek tek sorgu salla düzeltsin geri gelsin vs. normalde bunları array içine topla tek seferde ver derim ama oda biraz daha karmaşıklaştırır şuan için bu şekilde devam etmen daha sağlıklı.
Açıklayıcı yanıtınız için teşekkür ederim hocam

while döngüsünü tüm sorguda mı döndürmem gerekiyor yani şuan? Kod üzerinden yardımcı olabilir misiniz rica etsem?