0
こんにちはみんなをすべての一致行に参加したテーブルは以下のとおりです。MySQLの左は、私はこの問題を持っている非常に最初のマッチ行を除いて返します
images:
id || path_id || name
1 1 example1.jpg
2 1 example2.jpg
3 1 example3.jpg
4 2 example4.jpg
path:
id || folder_path
1 "./...."
2 "./...."
をクエリはこれです:
$query="SELECT images.name,path.folder_path FROM images
LEFT JOIN
path ON path.id=images.path_id
WHERE path.id=?";
が?
を言うことができます1
です。これは、最初に一致するもの以外のすべての画像を返しますexample1.jpg
。私がexample2.jpg
を最初の行に入れた場合、それはexample2.jpg
をスキップして、example1.jpg
となります。なぜ??私が望むのは、この特定のIDの特定のpath_id + folder_pathを持つすべての写真です。 クエリ全体。
$query="SELECT images.name,path.folder_path FROM images
LEFT JOIN
path ON path.id=images.path_id
WHERE path.id=?";
if($stmt= $mysqli->prepare($query))
{
for($i=0;$i<count($result);$i++)
{
$bind_param= $result[$i];
/*bind parameters*/
$stmt->bind_param("s",$bind_param);
/* execute query */
$stmt->execute();
/* bind result variables */
$stmt->bind_result($images,$path);
$stmt->fetch();
}
$i=0;
while($stmt->fetch()){
printf("%d) %s PATH:%s \n",$i,$images,$path);
$i++;
}
$stmt->close();.
$結果はid = 1です。そして私がデータをプリントしようとすると、私が期待している3つのイメージのうち2つ、正しいfolder_pathだけがプリントされます。
期待される出力を表示できますか? –
私はしたい:example1.jpg、example2.jpg、example3.jpg + "。/ ...."(id = 1の) 私は得る:example2.jpg、example3.jpg + "。/ ...." (id = 1の) –
はどこに** image.id =? "; ** –