将多个表中的数据转换为单行

I'm trying to retrieve data from 2 tables and combine multiple rows into a single while loop

posts

post_id content          
------  -------      
   1    content1                     
   2    content2           
   3    content3  
   4    content4


comments

id      post_id   content   
------  ------    ------              
   1      1        Wharton university           
   1      2        Yale University         

sql code I write

    mysqli_query( $connect, "SELECT * FROM `posts`
 INNER JOIN  comments ON posts.post_id =  comments.post_id  ORDER BY 1 DESC");

The problem I'm only getting post id 1 and 2. while there are over 30 posts

I want to get all posts and comments for each post in a single while loop.

How can I do it ?

Change your join to a LEFT join instead of an INNER join.

The difference being that a LEFT join will use null when there's no comments, where as INNER will only give you the rows that have comments.

Your INNER join is taking the union of both tables on the post_id field. You need a LEFT join instead of an INNER join. The LEFT join will give you all the results from the first table.