Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 指定内部联接表中的列_Php_Mysql - Fatal编程技术网

Php 指定内部联接表中的列

Php 指定内部联接表中的列,php,mysql,Php,Mysql,comment表和post表都有一列名为user\u id 我无法同时指定两个表的用户id 为了在以后使用某些if-else条件,我需要将两个用户标识都作为不同的名称(我正在尝试使用as) 我尝试了不同的方法,但查询不起作用: $sql=“选择`post\u id`、`comment\u id`、`comment`、`user\u id`、`username`、, `标记为“post”。上的“comment”内部连接“user”中的“user\u id”为“p\u uid” `评论`.`user

comment表和post表都有一列名为user\u id

我无法同时指定两个表的用户id

为了在以后使用某些if-else条件,我需要将两个用户标识都作为不同的名称(我正在尝试使用as)

我尝试了不同的方法,但查询不起作用:

$sql=“选择`post\u id`、`comment\u id`、`comment`、`user\u id`、`username`、,
`标记为“post”。上的“comment”内部连接“user”中的“user\u id”为“p\u uid”
`评论`.`user\u id`=`user`.`id`internal JOIN`post`ON`
`user`.`id`=`post`.`user\u id`ORDER BY`comment\u id`DESC';
$result=mysqli\u查询($con,$sql);
如果($结果){
while($row=mysqli\u fetch\u assoc($result)){
$post_user_id=$row['p_uid'];

您可以将表名别名为其他名称并获取列。查看示例:

SELECT C.comment_id, U.user_id
FROM comment C INNER JOIN user u ON C.user_id = U.id
我会:

SELECT c.post_id,
       c.comment_id,
       c.comment,
       c.user_id AS c_uid,
       c.username,
       c.is_marked,
       p.user_id AS p_uid
FROM comment c
INNER JOIN user u ON c.user_id = u.id
INNER JOIN post p ON c.user_id = p.id
ORDER BY c.comment_id DESC
为表和所选字段定义别名。这比始终放置表名更易于阅读


在PHP中,您可以引用
$row['c_uid']
$row['p_uid']

您好,请阅读以下内容:。您应该提供表结构和示例数据。然后提供所需的输出和当前输出。由于这是一个查询问题,您可以去掉PHP,只需在问题中添加格式正确的SQL,这将有助于提高可读性。我做了类似的操作。但这再次重复了同样的事情同样,5到6次没有表格和数据,我也无能为力。提供一个。