Bonjour,

J'essaie de faire une requête sur une table de la manière suivante:

J'ai une table 'usersmovies' avec en colonne 'username' et 'movie_title'.

Je veux sélectionner les 'username' qui ont au moins un 'movie_title' en commun, j'utilise donc une requête du type:

SELECT username FROM usersmovies WHERE movie_title IN ?

Le point d'interrogation est censé être un ensemble dans lequel chercher, un ensemble du type ('élément 1', 'élément 2') sauf que dans mon cas je veux qu'il soit variable et qu'il soit donc un tableau/une liste.

Le problème c'est que je n'arrive pas à sélectionner les 'username' en utilisant le code source suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
session_start();
 
//Connexion à la BDD:
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
 
//Requête pour sélectionner tous les films de l'utilisateur de la session:
$usermovies = $bdd->prepare('SELECT movie_title FROM usersmovies WHERE username = ?');
$usermovies->execute(array($_SESSION['username']));
 
while($donnees = $usermovies->fetch())
{
    echo $donnees['movie_title'];
    $movies[]=$donnees['movie_title'];
}
 
//Requête pour sélectionner les utilisateurs ayant au moins un film en commun avec l'utilisateur de la session:
$test = $bdd->prepare('SELECT username FROM usersmovies WHERE movie_title IN ?');
$test->execute(array($movies));
 
while($commonmovies = $test->fetch())
{  
echo $commonmovies['username'];
}
 
?>
Il me renvoie: "Notice: Array to string conversion in /Users/ganeshmamodaly/Sites/entourage.php on line 26"

Et si je remplace (en ligne 26)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$test->execute(array($movies));
par (crochets en plus)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$test->execute(array($movies[]));
il me renvoie:

"Fatal error: Cannot use [] for reading in /Users/ganeshmamodaly/Sites/entourage.php on line 27"

Du coup je n'arrive pas à sélectionner tous les utilisateurs ayant au moins un film en commun avec l'utilisateur de la session

Quelqu'un aurait-il une idée pour pouvoir faire cette manip?

Je ne sais pas si j'ai été assez clair

Merci beaucoup de votre aide!