НЕСКОЛЬКО ЗАПРОСОВ В ОДНОМ SQL PHP
Когда нужно выполнить несколько запросов в одной транзакции в PHP, можно воспользоваться функционалом PDO. Вначале следует установить соединение с базой данных, после чего создать объект PDOStatement для каждого запроса и вызвать метод execute внутри блока try-catch. Если при выполнении запроса произойдет ошибка, то блок catch перехватит её и можно обработать эту ситуацию в соответствии с требованиями задачи. Пример кода:
try { $pdo = new PDO('mysql:host=localhost;dbname=test', $user, $password); $pdo->beginTransaction(); $stmt1 = $pdo->prepare('UPDATE users SET name = :name WHERE id = :id'); $stmt1->execute(['name' => 'John', 'id' => 1]); $stmt2 = $pdo->prepare('INSERT INTO history (user_id, value) VALUES (?, ?)'); $stmt2->execute([1, 'some value']); $pdo->commit();} catch(PDOException $e) { $pdo->rollBack(); echo 'Error: ' . $e->getMessage();}
Этот пример показывает, как выполнить два запроса внутри одной транзакции с помощью PDO. Если оба запроса будут успешно выполнены, то блок try завершится данными изменениями базы данных. Если же возникнет ошибка, то блок catch выполнится и транзакция будет отменена.
Урок ruphp.comСложные SELECT c подзапросами
Запрос данных из нескольких таблиц: JOIN - Основы SQL
Работа с базой данных SQL запросы и php
SQL запросы LEFT JOIN, RIGHT JOIN и INNER JOIN в PHP
Связи двух таблиц - Relation - Динамический веб-сайт
SQL на котиках: Джоины (Joins)
Уроки MySQL - Как добавить несколько ruphp.com into. PDO
PHP для начинающих - #13 Подключение к БД и первый SQL-запрос
Запрос к запросу sql. Выборка из нескольких таблиц. HAVING и GROUP BY
КАК БЕЗ ПЕРЕЗАГРУЗКИ СТРАНИЦЫ СДЕЛАТЬ ЗАПРОС