Versuchen Sie, Ihre Abfrage folgendermaßen zu ändern:
"SELECT * FROM members WHERE member_id = ?"
und fügen Sie Ihren Parameter wie folgt hinzu:
result.add_parameter(0, id);
Ich würde auch vermuten, if (query.exec() && query.next())
ist falsch, und die Prüfung auf .next()
sollte entfernt werden, da ich mir vorstellen könnte, dass ein weiterer Datensatz in der Ergebnismenge vorhanden sein muss.