我有几个与字段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());
最佳答案
您的查询看起来不错-尽管我无法保证表或列的名称。也许问题在于用户丢失了其中一张表中的行。然后,没有任何内容与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';