SQL查询返回的PHP ID列不正确的值(SQL query returns incorrect v

2019-08-22 20:11发布

我使用下面的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
 }

Answer 1:

在查询多表有ID列。 使用字段别名,而不是*select 。 例如,

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

或者,你可以使用正确的ID $thisResult[0]假设ID是第一列posts表)



文章来源: SQL query returns incorrect value for ID column in PHP