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; 
?> 
ЛітераІм'яФрукт
1aАнтонАбрикос
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; 
?> 
ЛітераІм'яФрукт
1aАнтонАбрикос
2ББорисБанан
3ВВіраВишня
4ГГенадійГранат
PDO::FETCH_NUM — повертає масив індексований по номеру стовпчика - $row[0]
ЛітераІм'яФрукт
1aАнтонАбрикос
2ББорисБанан
3ВВіраВишня
4ГГенадійГранат
PDO::FETCH_OBJ — повертає анонімний об'єкт з іменами властивостей, що відповідають іменам стовбців - $row->id
ЛітераІм'яФрукт
1aАнтонАбрикос
2ББорисБанан
3ВВіраВишня
4ГГенадійГранат
PDO::FETCH_LAZY - дозволяє отримувати дані будь-яким з трьох способів - числовий індекс, за іменем і звертаючись до властивостей класу через -> - $row->id, $row['letter'] та $row[2]
ЛітераІм'яФрукт
1aАнтонАбрикос
2ББорисБанан
3ВВіраВишня
4ГГенадійГранат

далі ✏
Ігор Ка