@AndMex; aslında ilk while döngüsüyle değişken atadığınız kısma neden ihtiyaç duydunuz tam anlam veremedim $send_wpiban, $ttutar ve $tid değişkeninde sadece son kayıtın bilgileri kalacaktır, sistem error vermese bile bir mantık hatası oluşturacaktır. Aşağıdaki şekilde belki işinizi çözebilir.
try {
$baglanti = new PDO("mysql:host=localhost;dbname=SANSUR", "xxx ");
$baglanti->exec("SET NAMES utf8");
$baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = $db->query("SELECT * FROM para_transferleri WHERE onay = '0'", PDO::FETCH_ASSOC);
if ($query->rowCount()){
foreach($query as $row){
$query = $db->exec("UPDATE para_transferleri SET onay = '1' WHERE id = '".$row['id']."'");
$query = $db->prepare("UPDATE users SET balance = balance + :ttutar WHERE wpiban = :wpiban");
$update = $query->execute(array(
"ttutar" => $row['tutar'],
"wpiban" => $row['send_wpiban']
));
if ($update){
echo "güncellendi";
}else{
echo "bir sorun var";
}
}
}
} catch (PDOException $e) {
die($e->getMessage());
}
$baglanti = null;