hola si estas usando mysqli orientado a objetos seria mejor que no lo mezclaras con PDO. Es decir:
Código PHP:
$result = $mysqli->query($query);
$row = mysqli_fetch_row($result);
Yo lo haria mejor así:
Código PHP:
$result = $mysqli->query($query);
while ($row = $result->fetch_assoc()){
$id=$row["id"];
$nombre=$row["nombre"];
echo $id;
echo "<br />";
echo $nombre;
}
Yo creo que con esto te deberia funcionar. Igual yo quizas por vicio uso mas el while que el foreach para leer las variables de una consulta pero creo que si lo quieres hacer con foreach deberia ser exactamente igual. Prueba y ya nos comentas como te fue. Igual tambien puedes cambiar el fetch_assoc con fetch_row, ya al gusto del consumidor. Me gusta mas el asociativo porque me da una idea clara de la variable que voy a recuperar en lugar de las filas que si vuelvo a mirar el código un tiempo después no recuerdo a que variable se refiere.