第一个是user
表,第二个是places
表,第三个是favorites
表(有两个fk,一个来自用户,另一个来自位置)。我想获得一个用户所有喜欢的地方,怎么做呢?
我试着玩连接,但我不知道的是如何获得特定用户的数据。
$qry =
"SELECT places.place_id , places.db_image ,places.description from places
inner join favorites on places.place_id = favorites.place_id
inner join user on user.id = favorites.user_id
";
$query=mysqli_query($con ,$qry);
$return_arr = array();
$sql = sprintf(
'SELECT
p.place_id,
p.db_image,
p.description
FROM
places p INNER JOIN
favorites f ON p.place_id = f.place_id INNER JOIN
user u ON u.id = f.user_id
WHERE
u.id = %d'
, $userId);
或者如果您想简单地从位置
中选择所有列SELECT
p.*
FROM
places p INNER JOIN
favorites f ON p.place_id = f.place_id INNER JOIN
user u ON u.id = f.user_id
WHERE
u.id = %d
最好使用预处理语句,但如果您不熟悉它们,这也足够了。