0

ネストされたselectステートメントを使用してmysqlseectステートメントを作成しました。現在、私のmysqlスキル(またはその欠如)は非常に限られています。以下は私が書いたコードです。空白の結果または警告が表示されていました。mysql_fetch_Arrayエラー。現在、「サブクエリは複数の行を返します」というエラーを受け取っています。この問題の修正を開始する方法について、誰かが正しい方向に私を向けることができますか。助けてくれてありがとう。

 <?php
session_start();

$memberId = $_GET['id'];

$loggedId = $_SESSION['id'];

include('../connect_DB.php');

$sql = 'SELECT bins.tag_Id, tagging_Info.plant_Id, tagging_Info.photo_Id FROM bins inner join tagging_Info on bins.tag_Id = tagging_Info.tag_Id inner join collections on collections.id = bins.collection_Id WHERE collections.member_Id ='.$memberId.' and collections.id=(SELECT id FROM collections where member_Id='.$memberId.')'; 

$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($result)) {


   $collection = "Success"; // test to see if working

}
echo $collection;

?>
4

1 に答える 1

2

サブクエリだけを実行して、実際に返されるレコードの数を確認し、$ memberIdが実際に設定されていることを確認しましたか?

ユーザーが複数のコレクションを持つことは理にかなっているため、サブクエリの結果で=の代わりにINを使用するようにメインクエリを調整する必要があります。

于 2012-10-07T21:12:03.463 に答える