SQL-запрос возвращает неверное значение для столбца ID в PHP

Я использую следующий SQL-запрос для извлечения содержимого из таблиц сообщений , пользователей и комментариев

Когда я запускаю запрос в базе данных, он правильно возвращает значение 14 для столбца «ID» в результате.

Однако, используя PHP mysqli, он возвращает 1, а иногда 2 . Может ли кто-нибудь увидеть какие-либо проблемы с запросом? Я смотрел на него часами, и я действительно не хочу делать отдельный запрос, чтобы получить правильное значение ID.

SELECT * FROM posts LEFT OUTER JOIN comments ON posts.ID = comments.comment_post_id AND comments.comment_approved = 1 LEFT OUTER JOIN users ON users.ID = posts.post_author WHERE posts.ID = '14' AND posts.post_type = 'post' AND posts.post_status = 'publish' ORDER BY comments.comment_ID DESC 

Код PHP:

  while ($thisResult = $result->fetch_array(MYSQLI_ASSOC)) { echo $thisResult['ID']; // returns 1 echo $thisResult['post_title']; // returns the correct post title } 

Несколько таблиц в вашем запросе имеют столбец ID . Используйте полевые псевдонимы вместо * в select . Например,

SELECT posts.id as post_id, ..... FROM posts ....

Или вы можете получить правильный идентификатор, используя $thisResult[0] (предполагая, что id является первым столбцом в таблице posts )