我对mysql还是很陌生,想寻求帮助。

用户表

idusers      name           other_info
1           Test Last          email
2           True Blue          phone
3           False Name         phone
4           Purpose Test       email


喜欢表

id          idusers         iditems
1             1                3
2             1                4
3             1                4
4             2                3
5             3                3
6             2                1


目前,我已经在mysql中设置了该表,并且idusers应该与我的语法匹配,以获取有关喜欢某些项目的某些用户的信息。

我目前有这样的东西

$liked_users = $dbh->query("SELECT users.idusers,likes.idusers FROM users,likes WHERE users.idusers = likes.idusers");

这应该匹配吧?

但是我正在尝试输出一些JSON数组,其中用户的数据应该属于特定的模式

    while($row = $items-> fetch(PDO::FETCH_ASSOC)){
        //$get_liked_idusers = $liked_idusers->fetchAll(PDO::FETCH_ASSOC);
        //$liked_users ->execute(array($get_liked_idusers));

    $json['data'][] = array(
    'id'=>$row['iditems'],
    "likes" => array(
    "data"=>$liked_users -> fetchAll(PDO::FETCH_ASSOC) //users should be displayed only if they liked the item that is going through this while loop only.
    )
    );
}


因此,我试图在"data"数组中输出有关用户的信息,并且该信息应遵循这些惯用法。而且我不确定该怎么做,因为我不认为在第一个AND iditems = ?" mysql语法中添加“ $liked_users”会因为要求获取两个不同的表而起作用。

我希望我的问题清楚吗?

提前致谢!

最佳答案

你可以做这样的事情

$liked_users = $dbh->query("SELECT users.idusers,likes.idusers,likes.iditems FROM users,likes WHERE users.idusers = likes.idusers")

因为您的查询应该具有要遍历json数据的许多字段

关于php - 数组的MySQL语法可能需要加入?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11140117/

10-11 01:07