2011-12-25 4 views
0

Я получаю данные только от первого стола social_members, а не из двух других таблиц _meminfo и _memtext. обе таблицы имеют в них данные с тем же значением m_id, которое находится в _meminfo и _memtext.Присоединиться и лево Присоединиться не потянув данные

$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 

ответ

2

В вашем запросе вы явно заявляете, что хотите получать данные только из таблицы social_members.

SELECT sm.* .... 

имеет такой эффект (см. * = Все столбцы из таблицы с псевдонимом sm). если вы хотите, чтобы все столбцы, сгенерированных по Вашему запросу, то вместо него вы должны сделать

SELECT * .... 
1

Вы должны упомянуть social_meminfo и social_memtext столбцов в ЗЕЬЕСТЕ.

попробовать это

SELECT * from ..... 
Смежные вопросы