答えを見つけました:
結果を保存する必要がありました(結果を保存する(プロパティを取得するため))
結果をフェッチする必要がありました(準備されたステートメントからバインドされた変数に結果をフェッチします)whileループなしで喜んで。
$db = new mysqli("localhost","root","password","xxx");
$statement = $db->prepare("SELECT name, password FROM persons WHERE name=? LIMIT 1");
$statement->bind_param('s', "kevin");
$statement->execute();
$statement->store_result(); // this is what I was missing
if($statement->num_rows){
$statement->bind_result($dbname, $dbpassword);
$statement->fetch(); // this is what I was missing
$statement->free_result();
echo $dbname;
echo $dbpass;
};