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
。爲什麼??我想要的是具有特定path_id +該特定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();.
$ result是id = 1。當我嘗試打印數據時,它只打印我期望的3張圖像中的2張和正確的folder_path。
你能告訴我們你的預期產出嗎? –
我想:example1.jpg,example2.jpg,example3.jpg +「。/ ....」(id = 1) 我得到:example2.jpg,example3.jpg +「。/ ....」 (的id = 1) –
更改WHERE到** WHERE image.id =?「; ** –