[英]Selecting posts id's from Array of user id's - mysql
如果回显,我有一个id数组:
echo json_encode($followingIds);
打印:
[{"User_two_id":"3"},{"User_two_id":"4"},{"User_two_id":"5"}]
现在,我想从Post表中选择All id,其中Author的值等于我数组中User_two_id的值。
“作者正在索引user_two的ID”
这是我到目前为止无法正常工作的地方
function getPosts( $follwingIds ) {
$sql = "SELECT id
FROM posts
WHERE Author IN ('$follwingIds')
GROUP BY id
HAVING COUNT(DISTINCT Author)";
$result = $this->conn->query( $sql );
if ( $result != null ) {
while ( $row = $result->fetch_assoc() ) {
$returnArray[] = $row;
}
}
}
一个问题在这里:
WHERE Author IN ('$follwingIds')
这里的$follwingIds
是JSON object
,其中mysql IN
所需的值以逗号分隔。 因此,与其制作一个json数组,不如将其转换为字符串一样:
$follwIds = implode(',', array_column($follwingIds, 'User_two_id'));
并在查询中使用它,例如:
WHERE Author IN ($follwIds)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.