douzhouhan4618 2014-03-11 01:38
浏览 6
已采纳

PDO查询返回“Array”而不是value

I'm trying to get a list of usernames from my following table, and then use that list to get each user's post for a news feed, but when I try this:

    $sth = $db->query("SELECT profile FROM follows WHERE follower='$username' ");
    $following = $sth->fetchAll(PDO::FETCH_ASSOC);

    foreach ($following as $userlist) {
        $userlist_logic .= "username='$userlist' OR ";
    }

echo $userlist_logic;

Then it just returns this:

username='Array' OR username='Array' OR username='Array' OR

How do I fix it?

  • 写回答

2条回答 默认 最新

  • doubao6681 2014-03-11 01:42
    关注

    $userlist is an array instance containing the profile column for each row returned.

    The line within your foreach loop needs to be as follows:

    $userlist_logic .= "username='{$userlist['profile']}' OR ";
    

    Also, I would recommend sanitising the variable before interpolating it into the string by generating your second SQL statement within PDO and then running it through PDO prepare as detailed in this StackOverflow thread.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?