Ta kwerenda PDO :: FETCH_ASSOC` pomija pierwszy zwrócony wynik

Przechodzę do instrukcji przygotowanych do PDO i mam problem ze składnią podstawowąSELECT zapytanie za pomocąWHILE komunikat.

Theforeach poniższe stwierdzenie potwierdza prawidłowe wyniki, alePDO::FETCH_ASSOC kwerenda pomija pierwszy wynik, który został zwrócony (więc zawsze ma wynik o jeden mniej niż powinien).

PDO :: FETCH_ASSOC

$stmt = $conn->prepare("SELECT * FROM products"); 
$stmt->execute();
$row = $stmt->fetch();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 
    echo $row['product_name'].' '.$row['price'].' '.$row['color'], "<br />"; 
}

dla każdego

foreach($conn->query('SELECT * FROM products') as $row) {
    echo $row['product_name'].' '.$row['price'].' '.$row['color'], "<br />";  
}

questionAnswers(2)

yourAnswerToTheQuestion