我使用以下SQL查询从表帖子,用户和评论
中提取内容当我在数据库上运行查询时,它正确地返回结果中“ID”列的值14。
然而,使用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
}
答案 0 :(得分:2)
查询中的多个表格都有ID
列。在*
中使用字段别名而不是select
。例如,
SELECT posts.id as post_id, ..... FROM posts ....
或者您可以使用$thisResult[0]
获取正确的ID(假设id是posts
表中的第一列)