Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как получить строки из базы данных

Короткий ответ

Подготовьте запрос, выполните его и заберите строки методом fetchAll():

<?php
 
$pdo = new PDO('sqlite::memory:');
$pdo->exec('CREATE TABLE products (id INTEGER PRIMARY KEY, title TEXT, price INTEGER)');
$pdo->exec("INSERT INTO products (title, price) VALUES ('Tea', 250), ('Coffee', 400), ('Juice', 180)");
 
$statement = $pdo->prepare('SELECT title FROM products WHERE price < ? ORDER BY title');
$statement->execute([300]);
 
echo implode(', ', $statement->fetchAll(PDO::FETCH_COLUMN));

Результат:

Juice, Tea

Одна строка

fetch() возвращает строку или false, если ничего не найдено:

<?php
 
$pdo = new PDO('sqlite::memory:');
$pdo->exec('CREATE TABLE products (id INTEGER PRIMARY KEY, title TEXT, price INTEGER)');
$pdo->exec("INSERT INTO products (title, price) VALUES ('Tea', 250)");
 
$statement = $pdo->prepare('SELECT title, price FROM products WHERE id = ?');
$statement->execute([1]);
$product = $statement->fetch(PDO::FETCH_ASSOC);
 
echo $product ? $product['title'] . ' ' . $product['price'] : 'not found';

Результат:

Tea 250

Функции из этого ответа

  • PDOStatement — Подготовленный запрос и его результат.
  • PDO — Подключение к базе данных.
  • array_column — Достаёт значения одного ключа из массива массивов.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.