我有两张桌子..照片和画廊具有以下结构:
------------------------------------ ------------
表:照片
------------------------------------ ------------
--照片 ----- 所有者 - 图库 - 订购
123.jpg --------23--------28 ----- - 1
234.jpg --------23--------28 ------ 2
345.jpg --------23-------- 29 ------ 1
456.jpg --------23--------29 ------ 2
567.jpg --------23-- ------30 ------ 1
------------------------------------------------
表:画廊
--------------------------------------------------------
id - -画廊名称 ---- 所有者 ---- 访问 -
28 -- 图库 1 ---------- 23 ------- 私人 -
29 -- 图库 2 -------- --- 23 ------- 公共 -
30 -- 画廊 3 ---------- 23 ------- 公共 -
两张表的关系是photos.gallery = gallery.id
我想获取具有特定访问类型(私有)的每个画廊的列表(使用 while 循环),并从照片表中为 order = 1 的每个画廊获取 photos.photo。
我应该使用内连接、左连接还是什么?我尝试了以下方法,但没有成功。有人可以帮我理解我做错了什么吗?
if ($stmt = $mysqli->prepare("SELECT galleries.id, galleries.galleryname, photos.photo FROM galleries INNER JOIN photos ON galleries.id=photos.gallery WHERE galleries.access = 'private' AND galleries.owner = '23' AND photos.count = '1'"))
{
$stmt->execute();
$stmt->bind_result($private_gal_id,$private_gal_name,$private_gal_photo);
while ($stmt->fetch())
{
echo "The results: $private_gal_id - $private_gal_name - $private_gal_photo";
}
$stmt->close();;
}