Задача простая: подключиться к базе и вытащить одну строчку. Без теории, только рабочий минимум на PDO (это стандарт, старые mysql_* функции не используем).
Вариант 1: самый короткий рабочий пример (10 строк)
php
<?php $dsn = 'mysql:host=localhost;dbname=testdb;charset=utf8mb4'; $user = 'db_user'; $pass = 'db_pass'; $pdo = new PDO($dsn, $user, $pass, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ]); $stmt = $pdo->query('SELECT id, name FROM users LIMIT 1'); $row = $stmt->fetch(PDO::FETCH_ASSOC); if ($row) { echo 'ID: ' . $row['id'] . ', Имя: ' . $row['name']; }
Что тут есть:
$dsn— строка подключения (хост, база, кодировка).PDO— объект соединения.query()— выполняет простой запрос без параметров (дляSELECTбез пользовательских данных это допустимо).fetch()— берёт одну строку как ассоциативный массив.- Проверка
if ($row)— чтобы не пытаться читать несуществующие данные.
Вариант 2: если нужно передать параметр (например, по ID)
Это уже не «без параметров», но сразу показываю правильный путь — через подготовленный запрос. Это важно, если в будущем будешь брать ID из $_GET или $_POST.
php
<?php $dsn = 'mysql:host=localhost;dbname=testdb;charset=utf8mb4'; $user = 'db_user'; $pass = 'db_pass'; $pdo = new PDO($dsn, $user, $pass, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ]); $id = 5; // в реальности это может быть (int)$_GET['id'] $stmt = $pdo->prepare('SELECT id, name FROM users WHERE id = ?'); $stmt->execute([$id]); $row = $stmt->fetch(PDO::FETCH_ASSOC); if ($row) { echo 'ID: ' . $row['id'] . ', Имя: ' . $row['name']; }
Здесь вместо query() используется prepare() + execute() — это защита от SQL‑инъекций. Даже если потом подставишь данные от пользователя, логика останется безопасной.
Важные мелочи, чтобы не падало
- Кодировка
utf8mb4в DSN. Если её не указать, могут быть проблемы с кириллицей и эмодзи. - Обработка ошибок. Сейчас при ошибке будет исключение. В реальном скрипте его нужно ловить через
try/catch, а не показывать пользователю. - Пароль не в коде. В примере пароль написан прямо в файле — так в продакшене нельзя. Используй переменные окружения или конфиг‑файл вне веб‑корня.
- Права пользователя БД. У
db_userдолжны быть права наSELECTиз нужной таблицы.
Как проверить, что всё работает
Создай файл test.php с одним из примеров выше, положи в папку, доступную через веб‑сервер, и открой в браузере. Если видишь строчку вида:
ID: 5, Имя: Иван
— значит, первый запрос сработал. Если страница пустая или ошибка — смотри логи PHP и убедись, что:
- сервер БД запущен,
- хост/имя базы/логин/пароль верные,
- кодировка в DSN указана.

