Waarom return je gewoon geen array door $rows te returnen?
Dan kan je bij het aanroepen van test_reviews() eenvoudig alle data ophalen die je maar wilt.
Verder weet ik niet hoeveel velden je tabel heeft, maar gebruik bij voorkeur geen * (joker) maar specificeer alle velden die je wilt ophalen.
Verder overschrijf je steeds $rows, dus zal je steeds het laatste item krijgen.
Als je MySQLi in objectgeoriënteerde stijl gebruikt — met $database = new database() gevolgd door $result = $database->query($q) — kun je daarna beter niet mysqli_fetch_assoc() in procedurele stijl gebruiken.
Verder kun je in dit geval ook mysqli_result::fetch_array gebruiken, al heeft je array dan wel een net iets andere structuur:
<?php
function test_reviews()
{
$database = new database();
$result = $database->query('SELECT * FROM klanten WHERE test_reviews = 1');
return $result->fetch_array();
}
?>