Несколько запросов PDO работают, кроме запроса SELECT

У меня есть запрос в PDO, который содержит несколько действий. Сначала я посмотрел на вопрос это, чтобы узнать, возможны ли множественные запросы.

Мой код выглядит так:

$stmt = $db->prepare(
    "UPDATE 
        tbl_user_dashboards
     SET 
        is_active = 0
     WHERE 
        id_user_key_fk = 1;
     INSERT INTO 
        tbl_user_dashboards(id_user_key_fk, dashboard_name, dashboard_description, is_active)
     VALUES 
        (1, 'bla', 'blabla', 1);
     SELECT
        id_dashboard AS did,
        dashboard_name AS dname,
        dashboard_description AS ddesc,
        is_active
     FROM
        tbl_user_dashboards
     WHERE
        id_user_key_fk = 1
     ORDER BY
        id_dashboard ASC;"
);
$stmt->execute();

$data = array();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    $data[] = $row;
}

Моя проблема в том, что UPDATE и INSERT работают нормально, но SELECT не работает (мой JSON объект остается пустым, и я не получаю никаких ошибок, просто [] в качестве вывода).

Когда я изолирую UPDATE и INSERT и запускаю SELECT как отдельный оператор после UPDATE и INSERT, это работает, но это не мое предпочтительное решение.

Есть мысли по этому поводу?

Есть ли какая-то причина делать это таким образом, а не использовать несколько процедур подготовки/выполнения?

Nigel Ren 15.03.2019 10:42

почему ты хочешь это сделать?

Masivuye Cokile 15.03.2019 10:43

@NigelRen: я нашел это более читаемым с одним утверждением, но это очевидное личное предпочтение..

dexter 15.03.2019 10:45

Дело не всегда в том, что вы предпочитаете. Я думаю, что это очень редко делается таким образом, и поэтому, если кто-то еще придет к вашему коду, они также зададутся вопросом, почему вы сделали это таким образом. Разделение SQL на отдельные операторы также помогает отслеживать ошибки, поскольку в данный момент у вас есть масса операторов, в которых что-то может пойти не так.

Nigel Ren 15.03.2019 10:47

@NigelRen: спасибо, что указали на это. Затем я разделю код на 3 отдельных оператора. Береженого Бог бережет :-)

dexter 15.03.2019 10:49

выбор данных, которые вы только что вставили, тоже кажется немного пустой тратой времени.

danblack 15.03.2019 10:57
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
6
98
0

Другие вопросы по теме