php - Join 和 Left Join 不拉取数据

标签 php mysql

我只接收来自第一个表 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/

相关文章:

java - 如何根据时区在mysql中存储时间戳?

php - 如何将 mysqli 结果转换为 JSON?

php - Uncaught Error : Call to a member function get() on null | $chosen_shipping_rates

php - 当列数等于一或二时,如何找到两个表的唯一结果?

php - 学说查询构建器 SELECT DISTINCT 抛出错误

php - 重定向 - 替代 "&lt;meta http-equiv=' 刷新'/>”?

php - 无法使用php连接mysql数据库

php - 设置帖子的最小字符长度

mysql - 如何提高 ORDER BY ... LIMIT ... 查询性能?

php - 在这种情况下,删除 phpMyAdmin 数据库中记录的最佳方法是什么?