Задержки листинга базы данных - PullRequest
0 голосов
/ 17 апреля 2019

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

    $query="SELECT *
                FROM
                    (
                    SELECT id,ext,database_id
                    FROM images
                    WHERE database_name='news' AND database_id IN(" . implode(',',array_keys($news)) . ")
                    ORDER BY role
                    ) AS images
                GROUP BY database_id";

Ответы [ 2 ]

0 голосов
/ 17 апреля 2019

Этот запрос не имеет смысла:

SELECT i.*
FROM (SELECT id, ext, database_id
      FROM images
      WHERE database_name = 'news' AND
            database_id IN (" . implode(',',array_keys($news)) . ")
      ORDER BY role
     ) i
GROUP BY i.database_id;

Вы агрегируете по database_id, но используете select *. Мы надеемся, что MySQL вернет ошибку, связанную с группой:

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

0 голосов
/ 17 апреля 2019

Я не вижу ничего плохого в сценарии.Однако есть несколько вещей, которые вы можете рассмотреть:

  1. Короткие теги не рекомендуются. Допустимо ли использование коротких тегов PHP?

  2. Использование @ подавляет предупреждения.Вы можете отключить создание отчетов об ошибках вместо подавления предупреждений.

  3. Использование mysql не рекомендуется.Пожалуйста, используйте вместо этого mysqli. Когда я должен использовать MySQLi вместо MySQL?

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