获取具有相同ID的几个表的信息

时间:2013-08-03 20:54:18

标签: php mysql

我有几个表与字段ID链接。我想要做的是从所有通过id字段访问的表中获取所有信息。

我尝试过的(没有成功)是:

$result = mysql_query("
    SELECT * FROM mv_user_info 
    INNER JOIN mv_user_password
        ON mv_user_password.uid = mv_user_info.uid     
    INNER JOIN mv_user_lang_interested
        ON mv_user_lang_interested.uid = mv_user_info.uid        
    INNER JOIN mv_user_disponibility
        ON mv_user_disponibility.uid = mv_user_info.uid      
    WHERE mv_user_info.uid = '$uid'
") or die(mysql_error());

1 个答案:

答案 0 :(得分:0)

您的查询看起来很好 - 虽然我不能保证表或列的名称。问题可能是用户缺少其中一个表中的行。然后,任何内容都不会与inner join匹配,也不会有任何行返回。

请尝试left join

SELECT * FROM mv_user_info 
LEFT JOIN mv_user_password
    ON mv_user_password.uid = mv_user_info.uid     
LEFT JOIN mv_user_lang_interested
    ON mv_user_lang_interested.uid = mv_user_info.uid        
LEFT JOIN mv_user_disponibility
    ON mv_user_disponibility.uid = mv_user_info.uid      
WHERE mv_user_info.uid = '$uid';