Điều này có thể được thực hiện với một truy vấn
SELECT * FROM `char` WHERE char_id = (SELECT char_id FROM rankpvp ORDER BY ratio DESC LIMIT 1)
Lưu ý rằng char là một từ dành riêng nên nó sẽ phải được bọc trong dấu tích phía sau. Có thể đây là vấn đề thực sự mà bạn gặp phải (lỗi cú pháp) chứ không phải là vấn đề với vòng lặp while của bạn. Tuy nhiên, một truy vấn là đúng cách