PHP Почему моя функция дважды возвращает результат массива с разными ключами?

У меня проблема с одной из моих функций в PHP. Он возвращает результат два раза с разными ключами …
Я хочу получить результат только один раз без цифровых клавиш.

Этот запрос и функция возвращает следующий массив:

<?php #The query $typo = GetRowsParams("SELECT * FROM glyphs WHERE g_OK=1"); #The function function GetRowsParams($requete, $params = array()) { global $bdd; $stmt = $bdd->prepare($requete) or die(print_r($req->errorinfo()));; $stmt->execute($params); $result = $stmt->fetchAll(); return $result; } ?> # The Array Array ( [0] => Array ( [g_ID] => 1 [0] => 1 [g_name] => zero_Nagar.svg [1] => zero_Nagar.svg [g_height] => 1174 [2] => 1174 [g_width] => 352 [3] => 352 [g_tag] => Test [4] => Test [g_u_ID] => 2 [5] => 2 [g_path] => 02uploads/Test/zero_Nagar.svg [6] => 02uploads/Test/zero_Nagar.svg [g_path_PNG] => 02uploads/Test/zero_Nagar.png [7] => 02uploads/Test/zero_Nagar.png [g_OK] => 1 [8] => 1 ) [1] => Array ( [g_ID] => 2 [0] => 2 [g_name] => A Nagar.svg [1] => A … … 

Почему каждая строка отображается дважды с помощью другого ключа? Где моя ошибка?

Спасибо за помощь…

это потому, что по умолчанию php возвращает массив, где все данные имеют текстовый И числовой индекс. Чтобы сохранить только текстовый индекс, passe PDO :: FETCH_ASSOC в функции stmt->fetchAll(PDO::FETCH_ASSOC); : stmt->fetchAll(PDO::FETCH_ASSOC);

Добавьте аргумент PDO :: FETCH_ASSOC так:

 $result = $stmt->fetchAll(PDO::FETCH_ASSOC); 

(Здесь вы можете увидеть разные стили выборки: http://www.php.net/manual/en/pdostatement.fetch.php )

Прочитайте методы PDOStatement :: fetch . Первый аргумент – это «стиль выборки», который по умолчанию выбирает массив, похожий на приведенный выше. Если вы просто хотите, чтобы массив, который отображает имена полей для раздувания, используйте:

 $result = $bdd.fetchAll(PDO::FETCH_ASSOC);