1

次のようなLEFTJOINSELECTステートメントがあります。

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では返されないのか誰かが知っていますか?同じコードページの他のタスクで正常に機能しているため、データベース接続ではないことはわかっています。返されるフィールドの1つに、BLOBに格納されているバイナリデータが含まれていることに言及する必要があります。

4

1 に答える 1

1

2つのループがあります-内側のループは次のとおりです。

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

$keyも$valueも使用していません-そのループを削除するとどうなりますか?

于 2012-04-16T20:09:30.780 に答える