Tableau de conversion de chaîne de caractères d'erreur

J'ai une requête qui est tirant une liste d'Id. Ces Identifiants sont dans un tableau et j'ai besoin de chercher une autre table avec ces Identifiants. J'ai essayé à l'aide d'imploser à faire de ces Id d'une chaîne que je pourrais utiliser dans une clause where, mais je reçois ce message d'erreur.

Mon code actuel est:

 $query = $this->db->query('
        SELECT *
        FROM system_scoperights
        WHERE user = '. $this->session->userdata('username') .'
    ');

    foreach ($query->result() as $row) {
        $scope = $row->site;
        $data[] = $scope;
    } 
    $dataScope[] = $data;

    $idList = implode(',', $dataScope);   <---- Error Line

    $where = 'WHERE scope_scopes.sc_ID IN '. $idList .'';

J'ai essayé différentes choses que j'ai trouvé sur des forums comme:

 $idList = implode(',', array_values($dataScope));

et

 $idList = implode(',', join($dataScope));

mais aucun de ces travaux. (Je n'ai jamais entendu parler de la fonction join)

Merci d'avance pour l'aide.

Quelle est l'erreur de dire?
Je ne pense pas qu'il y est une exigence pour le " à la fin de la requête mysql - juste la fin de la chaîne de la requête après la concaténation de chaîne! +1 pour le style de la chaîne de requête si, me likey 😉
Je sais que vous n'avez pas besoin de les deux ' a la fin j'aime juste les mettre, il cause, il me semble plus organisé pour moi.
Le message d'erreur indique "Tableau de conversion de chaîne de caractères d'erreur"

OriginalL'auteur Dylan Buth | 2012-07-16