Encontré la respuesta:
Necesitaba almacenar el resultado (Almacenar el resultado (para obtener propiedades))
Necesitaba obtener el resultado (obtener resultados de una declaración preparada en las variables vinculadas) con mucho gusto sin un bucle 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;
};