2013-10-13 3 views
0

Я использую PDO для доступа к моей базе данных (mysql/mssql). Когда я читаю все записи сразу с помощью:Устранить индекс поля из запроса базы данных

$query = $pdoDb->prepare(" 
    SELECT * 
    FROM table 
"); 
$query->execute(); 
$result = $query->fetchAll(); 

Я получаю результат, содержащий также индекс массива (дублированные данные):

0: "1" 
ShipCode: "1" 

1: "ESPADA 1" 
ShipName: "ESPADA 1" 

2: "" 
Hatches: "0" 

3: "CARGO" 
ShipType: "CARGO" 

Я хотел бы получить данные, как выполните следующие действия:

ShipCode: "1" 
ShipName: "ESPADA 1" 
Hatches: "0" 
ShipType: "CARGO" 

Как запросить только результаты типа поля без дублированных индексов?

Спасибо,

+1

Вы всегда можете проверить других параметров для fetchAll() на сайте php, чтобы узнать, исправляет ли их проблему: http://php.net/manual/en/pdostatement.fetchall.php – lemondrop

ответ

0

Если вы хотите, чтобы избежать повторений вы должны SELECT DISTINCT:

$query = $pdoDb->prepare(" 
    SELECT DISTINCT 
     * 
    FROM 
     table 
"); 

Чтобы извлечь только имена столбцов и опускаем числовой индекс, перейдите:

$query->fetchAll(PDO::FETCH_ASSOC); 
Смежные вопросы