获取 MySQL 中 3 table 的所有数据

Get all data from 3 table in MySQL

我想通过用户名从 3 个表中获取所有数据,但我不能。

$username = $_GET['username'];
$res=$conn->query("select * from posts,tbl_view,tbl_user where posts.idpost=tbl_view.post_id AND 
username='$username'");

您似乎错过了加入 tbl_user 和 post 的条件。

假设您的 fk 列是 user_id,您的查询可能是:

select * 
from posts
INNER JOIN tbl_view  ON posts.idpost=tbl_view.post_id
INNER JOIN tbl_user ON posts.user_id = tbl_user.id 
WHERE tbl_user.username='$username'

您不应使用基于逗号分隔 table 的名称和 where 条件的旧连接语法,而应使用显式连接语法

并且您应该避免在 sql 中使用 php var。您应该使用准备好的语句和参数绑定(以避免 SQL 注入风险)。