foreach显示同一行的两次

I don't understand why the foreach displays two times the same row ..

if(isset($_POST['idSalarie'])){ 
    $displayForm = $bdd->prepare(
                 'SELECT user_prenom, user_nom, poste_nom 
                  FROM USER 
                      INNER JOIN USER_POSTE_SERVICE ON USER.user_id= USER_POSTE_SERVICE.ups_poste_id  
                      INNER JOIN POSTE ON USER_POSTE_SERVICE. ups_poste_id = POSTE.poste_id 
                   WHERE user_id = :idSalarie 
                   ORDER BY user_nom ASC');
    $displayForm->bindParam(':idSalarie', $_POST['idSalarie']);
    $displayForm->execute();
    $resDisplayForm=$displayForm->fetch();
    foreach ($resDisplayForm as $key => $value) {
        echo '<input type="text" name="'.$key.'" value="'.$value.'"/>';
    }
}

UPDATE : this is what the console displays

fetch() by default uses FETCH_BOTH.

PDO::FETCH_BOTH (default): returns an array indexed by both column name and 0-indexed column number as returned in your result set.

Try with -

$resDisplayForm=$displayForm->fetch(PDO::FETCH_ASSOC);
 $resDisplayForm=$displayForm->fetch();

in this its take normally FETCH_BOTH .. for this happen

FETCH_BOTH (default): returns an array indexed by both column name and 0-indexed column number as returned in your result set

you also learn from there:- http://php.net/manual/en/pdostatement.fetch.php

try FETCH_ASSOC

FETCH_ASSOC: returns an array indexed by column name as returned in your result set

try:--

$resDisplayForm=$displayForm->fetch(PDO::FETCH_ASSOC);