Prends le reflexe de regarder la documentation et les exemples sur php.net pour comprendre la fonction :
https://www.php.net/manual/fr/mysqli-re ... ch-row.php
Les clés du tableau retourné par cette fonction n'est donc pas le nom des colonnes mais un index commencant par 0, ($row[0], $row[1], etc.).[...] retourne le résultat en tant que tableau indexé, où chaque colonne est une case du tableau, celui-ci commençant à 0 (zéro).
Pour récupérer un tableau dont les clés sont le nom des colonnes ($row['nom'], $row['prenom'], etc.), il faut utiliser la fonction mysqli_fetch_assoc.
Enfin tu peux effectivement utiliser mysqli_fetch_object qui va retourner un objet dont les propriétés sont le nom des colonnes.