mysql_fetch_array returns duplicate data
Solution 1:
This is the intended functionality of mysql_fetch_array()
. If you want to not have the "duplicates" and just have the associative-array, use mysql_fetch_assoc()
instead.
Example:
while ($row = mysql_fetch_assoc($data)) { ... }
Solution 2:
mysql_fetch_array returns resultset returned as as response to query execution as both associative and numeric arrays. For returning resultset as associative array you need to use mysql_fetch_assoc function. For returning resultset as numeric array you need to use mysql_fetch_row function.
Solution 3:
Use mysql_fetch_assoc() for associtive array, or mysql_fetch_row for a numeric array
Solution 4:
mysql_fetch_array()
returns an array containing both associative keys (the field names specified by queries) and integer position key (i.e. 0 is first field, 1, is second, etc.). This is for convenience in accessing the data by either method.
if you only want the named keys, you should use mysql_fetch_assoc()
or better yet, use the mysqli functions as everyone on here will lambast you for using the old mysql_* functions.