gpt4 book ai didi

php - 数组不显示所有结果

转载 作者:行者123 更新时间:2023-11-29 00:49:57 25 4
gpt4 key购买 nike

这可能是我在其他区域遇到问题的原因,但输出该区域时 m_id 的结果为空。它多次使用的字段并正确显示所有其他字段的数据,但使用的主字段 m_id 未显示其 ID 号。

$res = mysql_query("SELECT *, 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_id'];

好的,我想我知道发生了什么。当我为 social_memtext 执行 LEFT OUTER JOIN 时,如果该表找不到 m_id 的结果,它不会显示 m_id 的值,即使它存在于其他两个表中。无论如何要解决这个问题?查找时,m_id 在 social_members 和 _meminfo 中总是有一个值/行

最佳答案

发件人:http://php.net/manual/en/function.mysql-fetch-assoc.php

如果结果的两列或多列具有相同的字段名称,则最后一列优先。

您正在从 3 个连接中选择所有内容,并且在每个表中 m_id 具有相同的名称。这意味着您的结果集中有 3 个 m_id,最后一个来自左连接表 social_memtext,如果该表中没有给定 m_id 的对应行,则它将为 NULL。

要获得预期的 m_id,请在 SELECT 中添加一个别名,并将该别名用于 php 中的数组索引。

SELECT *, DATE_FORMAT(sm.m_lld,'%m/%d/%y') 
AS m_lld_formatted,
sm.m_id as mem_id
...

关于php - 数组不显示所有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8979514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com