57. PHP Data Objects
Режими виведення даних
PDO дозволяє отримувати дані  в різних режимах.  Для визначення режиму, клас PDO містить відповідні константи.
  
PDO::FETCH_BOTH - повертає дані у дубльованому вигляді (і з текстовими індексами, і з цифровими) - $row[0] та $row["id"].
 
Цей режим увімкнено в PDO за умовчанням.
 
<?php 
   $sql ="SELECT * FROM alphabet";  
      
   $stmt = $pdo->prepare($sql);
   $stmt->execute();
  echo "<table ><tr><th>№</th><th>Літера</th><th>Ім'я</th><th>Фрукт</th></tr>";   
   while ($row = $stmt->fetch()) // fetch (PDO::FETCH_BOTH) за умовчанням
    {
     echo "<tr><td>".$row[0]."</td><td>".$row["letter"]."</td><td>".$row["name"]."</td><td>".$row[3]."</td></tr>";  
    }
   echo "</table>";
   $pdo=null; 
?> 
 
 | № | Літера | Ім'я | Фрукт | 
|---|
| 1 | a | Антон | Абрикос | 
| 2 | Б | Борис | Банан | 
| 3 | В | Віра | Вишня | 
| 4 | Г | Генадій | Гранат | 
 
 
    PDO::FETCH_ASSOC — повертає масив індексований по імені стовбчика в таблиці БД - $row['id'] 
   
<?php 
   $sql ="SELECT * FROM alphabet";  
      
   $stmt = $pdo->prepare($sql);
   $stmt->execute();
  echo "<table ><tr><th>№</th><th>Літера</th><th>Ім'я</th><th>Фрукт</th></tr>";   
   while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
    {
     echo "<tr><td>".$row['id']."</td><td>".$row["letter"]."</td><td>".$row["name"]."</td><td>".$row["fruit"]."</td></tr>";  
    }
   echo "</table>";
   $pdo=null; 
?>   
 | № | Літера | Ім'я | Фрукт | 
|---|
| 1 | a | Антон | Абрикос | 
| 2 | Б | Борис | Банан | 
| 3 | В | Віра | Вишня | 
| 4 | Г | Генадій | Гранат | 
 
   PDO::FETCH_NUM — повертає масив індексований по номеру стовпчика - $row[0]
 
    
  | № | Літера | Ім'я | Фрукт | 
|---|
| 1 | a | Антон | Абрикос | 
| 2 | Б | Борис | Банан | 
| 3 | В | Віра | Вишня | 
| 4 | Г | Генадій | Гранат | 
    
PDO::FETCH_OBJ — повертає анонімний об'єкт з іменами властивостей, що відповідають іменам стовбців - $row->id
    
  | № | Літера | Ім'я | Фрукт | 
|---|
| 1 | a | Антон | Абрикос | 
| 2 | Б | Борис | Банан | 
| 3 | В | Віра | Вишня | 
| 4 | Г | Генадій | Гранат | 
  
    PDO::FETCH_LAZY - дозволяє отримувати дані будь-яким з трьох способів - числовий індекс, за іменем і звертаючись до властивостей класу через ->
- $row->id, $row['letter'] та $row[2]
    
  | № | Літера | Ім'я | Фрукт | 
|---|
| 1 | a | Антон | Абрикос | 
| 2 | Б | Борис | Банан | 
| 3 | В | Віра | Вишня | 
| 4 | Г | Генадій | Гранат | 
  
далі ✏