Выполнение внутреннего соединения в PHP ООП с использованием PDO с примером кода

В PHP вы можете выполнять операцию внутреннего соединения, используя принципы объектно-ориентированного программирования (ООП). Я приведу пример с использованием расширения PDO (PHP Data Objects), которое обеспечивает согласованный интерфейс для доступа к базам данных.

Чтобы продемонстрировать внутреннее соединение, предположим, что у нас есть две таблицы: «пользователи» и «заказы». Таблица «Пользователи» содержит информацию о пользователях, а таблица «Заказы» — информацию об их заказах. Мы хотим получить список пользователей, разместивших заказы.

Вот пример фрагмента кода:

<?php
// Database connection
$dsn = 'mysql:host=localhost;dbname=your_database';
$username = 'your_username';
$password = 'your_password';
try {
    $db = new PDO($dsn, $username, $password);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    // Inner join query
    $query = "SELECT users.name, orders.order_id FROM users INNER JOIN orders ON users.user_id = orders.user_id";
    // Prepare and execute the query
    $statement = $db->prepare($query);
    $statement->execute();
    // Fetch the results
    $results = $statement->fetchAll(PDO::FETCH_ASSOC);
    // Output the results
    foreach ($results as $row) {
        echo "User: " . $row['name'] . ", Order ID: " . $row['order_id'] . "<br>";
    }
} catch (PDOException $e) {
    echo "Database connection failed: " . $e->getMessage();
}
?>

В этом примере мы устанавливаем соединение с базой данных с помощью PDO. Затем мы определяем SQL-запрос, который выполняет внутреннее соединение таблиц «users» и «orders», используя общий столбец «user_id». Запрос выбирает столбец «имя» из таблицы «пользователи» и столбец «order_id» из таблицы «заказы».

Мы готовим и выполняем запрос с использованием объекта PDOStatement, а затем получаем результаты с помощью метода fetchAll. Наконец, мы перебираем результаты и выводим имя пользователя и идентификатор заказа.