私は3つのテーブルがあります。私の3テーブルJOIN MySQLクエリが機能しないのはなぜですか?
Table: album
Columns: id, name, description, author, path, image
Table: albumconnect
Columns: id, imageid, albumid
Table: albumimages
Columns: id, path
をそして私は、単一の結合問合せにすべてのそれらの不要なクエリを交換しようとしている:私は上のベースを作ってみたクエリを今すぐ登録しよう
<?php
$albumID = $_SERVER['QUERY_STRING'];
$realAlbumID = substr($albumID, 1);
$realestAlbumID = str_replace('%20', ' ', $realAlbumID);
$sql = "SELECT * FROM album WHERE id='$realestAlbumID'";
$result = mysqli_query($conn, $sql);
$getResult = mysqli_fetch_assoc($result);
$albumPath = $getResult['path'];
$sql2 = "SELECT * FROM albumconnect WHERE albumid='$realestAlbumID'";
$result2 = mysqli_query($conn, $sql2);
while ($row = $result2->fetch_assoc()){
$imageId = $row['imageid'];
$sql3 = "SELECT * FROM albumimages WHERE id='$imageId'";
$result3 = mysqli_query($conn, $sql3);
$getResult3 = mysqli_fetch_assoc($result3);
$imagePath = $getResult3['path'];
echo '<div class="imageContainerAlbums"><li class="listAlbums"><img class="specificAlbumThumnails" src="'.$albumPath.$imagePath.'" alt="Random image" /></li></div>';
};
?>
私がオンラインに読んだものはこれです:
しかし$sql5 = "SELECT * FROM album
JOIN albumconnect ON albumconnect.albumid=album.id
JOIN albumimages ON albumimages.id=albumconnect.imageid
WHERE id='$realestAlbumID'";
$result5 = mysqli_query($conn, $sql5);
、私は内容をのvar_dumpしようとしたとき、私は私のクエリが間違っていると仮定して、それがヌル出力しますが、私はCを把握することはできませんそれを行うための正しい方法。
PHPmyAdminなどの変数を使って直接クエリを試しましたか? – Difster
はい、既にデータベースに値があります。 –
つまり、SQLコマンドで直接クエリを実行し、結合が機能するかどうかを確認します。 – Difster