Тези редове от документацията на php.net са ключови:
https://www.php.net/manual/en /mysqli-result.fetch-array.php
В случаите, когато две или повече колони имат едно и също име, единственият начин за препратка към първото(ите) появяване(я) на тази колона е чрез числов индекс. В тези случаи имате нужда от mysqli_fetch_row или mysqli_fetch_array с или MYSQLI_BOTH или MYSQLI_NUM като втори аргумент (при процедурна употреба).
mysqli_fetch_assoc($result) е просто съкращаване на mysqli_fetch_array($result, MYSQLI_ASSOC) .
mysqli_fetch_object прави това, което очаквате:връща ред с резултати като обект. Използване на това през mysqli_fetch_assoc е въпрос на това дали обект или масив представя по-добре записа, който се обработва. Обектът може да бъде от какъвто клас искате - stdClass е по подразбиране.