我只接收来自第一个表 social_members
的数据,而不接收其他两个表 _meminfo
和 _memtext
的数据。这两个表中的数据与 _meminfo
和 _memtext
中的 m_id
值相同。
$res = mysql_query("SELECT sm.*, DATE_FORMAT(sm.m_lld,'%m/%d/%y')
AS m_lld_formatted
FROM social_members sm
JOIN social_meminfo smi ON (sm.m_id = smi.m_id)
LEFT OUTER JOIN social_memtext smt ON (sm.m_id = smt.m_id)
WHERE sm.m_user = '".mysql_real_escape_string($en['user'])."'");
if (@mysql_num_rows($res) == 0) call404();
$line = @mysql_fetch_assoc($res);
foreach ($line as $key => $value) {
$en['m'.$key] = str_replace("\n",'<br/>',stripslashes($value));
}
echo '<pre>'; print_r($line); echo '</pre>';
echo $en['mm_pos']; // test from social_meminfo
最佳答案
在您的查询中,您明确表示您只需要 Social_members 表中的数据。
SELECT sm.* ....
具有该效果(sm.* = 表中别名为 sm 的所有列)。如果您想要查询生成的所有列,那么您应该这样做
SELECT * ....
关于php - Join 和 Left Join 不拉取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8627697/