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 | Г | Генадій | Гранат |
далі ✏