【问题标题】:Left Join Working in CMD Prompt, not PHPLeft Join 在 CMD Prompt 中工作,而不是 PHP
【发布时间】:2012-04-16 19:59:18
【问题描述】:

我有一个 LEFT JOIN SELECT 语句,如下所示:

SELECT submissions.subid, submissions.title, submissions.date, files.file
FROM submissions
LEFT JOIN files ON submissions.subid=files.subid
WHERE uid='1'
ORDER BY subid DESC;

当从 MySQL 命令提示符运行时,此查询完全返回我想要的结果,但是当尝试使用以下代码在 PHP 中显示结果时,它什么也不返回:

$subResult=mysql_query($querySub, $connection);

while($sub = mysql_fetch_assoc($subResult)){

    $subs[] = $sub;

}

foreach($subs as $k => $v) {

    foreach($v as $key => $val) {

    echo $k." ".$v."<br />";

    }

}

有谁知道为什么这会在命令行中返回一个完美的结果,但在 php 中却没有?我知道这不是我的数据库连接,因为它适用于同一代码页上的其他任务。我应该提到其中一个返回的字段包含存储在 BLOB 中的二进制数据。

【问题讨论】:

  • 您是否确保 PHP 代码不会生成任何错误消息?
  • 在你的 foreach 循环之前尝试print_r($subs);,看看它是否包含你希望循环通过的数据。

标签: php mysql left-join


【解决方案1】:

你有两个循环 - 里面的一个是:

foreach($v as $key =&gt; $val) {

您没有使用 $key 或 $value - 如果删除该循环会发生什么?

【讨论】:

    猜你喜欢
    • 2021-06-25
    • 2015-12-05
    • 1970-01-01
    • 2021-01-07
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多