mysql_fetch_array возвращает повторяющиеся данные

каждый раз, когда я запускаю mysql_fetch_array, массив возвращается с повторяющимися значениями, например

Array ( [0] => 1 [row_id] => 1 [1] => some text [first_field] => some text [2] => some text [second_field] => some text } 

но мне нужны только отдельные результаты в массиве, я попытался использовать

 mysql_fetch_array($data, MYSQL_ASSOC); 

Но это не имеет значения.

Это назначенная функция mysql_fetch_array() . Если вы хотите не иметь «дубликатов» и просто иметь ассоциативный массив, используйте mysql_fetch_assoc() .

Пример:

 while ($row = mysql_fetch_assoc($data)) { ... } 

mysql_fetch_array возвращает возвращаемый результат как ответ на выполнение запроса как как ассоциативный, так и числовой массивы. Для возврата набора результатов в качестве ассоциативного массива вам необходимо использовать функцию mysql_fetch_assoc. Для возврата результатов в виде числового массива вам необходимо использовать функцию mysql_fetch_row.

Используйте mysql_fetch_assoc () для ассоциативного массива или mysql_fetch_row для числового массива

Из руководства :

Возвращает массив строк, соответствующий выбранной строке, или FALSE, если больше строк нет. Тип возвращаемого массива зависит от того, как определяется result_type. Используя MYSQL_BOTH (по умолчанию), вы получите массив с ассоциативными и числовыми индексами. Используя MYSQL_ASSOC, вы получаете только ассоциативные индексы (как работает mysql_fetch_assoc ()), используя MYSQL_NUM, вы получаете только числовые индексы (как работает mysql_fetch_row ()).

Другими словами, поскольку MYSQL_BOTH является значением по умолчанию, вы получаете оба значения. Вместо этого вы можете указать MYSQL_ASSOC или MYSQL_NUM, чтобы получить ассоциативный массив или числовой массив. Вы также можете использовать mysql_fetch_assoc (), который будет возвращать только ассоциативный массив.

mysql_fetch_array() возвращает массив, содержащий как ассоциативные ключи (имена полей, заданные запросами), так и целочисленную позицию (т.е. 0 – первое поле, 1 – второе и т. д.). Это удобно для доступа к данным с помощью любого метода.

если вам нужны только именованные ключи, вы должны использовать mysql_fetch_assoc() или еще лучше, используйте функции mysqli, так как все, кто здесь, будут замаскировать вас за использование старых функций mysql_ *.

mysqli_fetch_array($result, MYSQL_ASSOC) это сработало для меня, как было предложено выше для mysql_fetch_assoc , в PHP5.5 оно устарело.