2014-06-18 7 views
0

J'utilise la requête suivante pour afficher les enregistrements en joignant des données de formulaire avec des données d'image.Filtrage des enregistrements pour les utilisateurs connectés uniquement?

SELECT * FROM soccer JOIN soccerimages ON soccer.id = soccerimages.id ORDER BY soccer.id 

Cette affiche tous les enregistrements, données de formulaire avec une image, mais comment puis-je afficher que le record de l'utilisateur connecté? Je dois rendre cela privé pour éviter les problèmes de droits d'auteur, si les utilisateurs téléchargent des images à partir de sites Web par exemple. L'utilisateur connecté est stocké dans une variable de session

$user = $_SESSION['UserName']; 

J'ai fatigué

SELECT * FROM tcgsoccer JOIN tcgsoccerimages ON tcgsoccer.id = tcgsoccerimages.id ORDER BY tcgsoccer.id `WHERE '$user'='$user'` 

Mais je reçois des erreurs de syntaxe. Je ne comprends pas comment structurer la requête? Je le teste dans phpmyadmin alors j'ai enlevé le;

+1

Retirez les guillemets pour la première ($ user) 'WHERE '$ user' = 'user'' $ donc' WHERE user =' $ user'' en supposant 'user' est le nom de la colonne. –

+0

Aucun $ utilisateur n'est la variable de session. J'ai joint des tables sur leurs ids de colonne. – MBM

+0

créer une procédure stockée qui accepte @user en tant que variable, appelez la procédure stockée de votre code php en passant dans $ user en tant que paramètre. – RandomUs1r

Répondre

0
$query = "SELECT * 
FROM tcgsoccer 
    JOIN tcgsoccerimages ON tcgsoccer.id = tcgsoccerimages.id 
     ORDER BY tcgsoccer.id 
WHERE user = '" . $user ."'"; 
+0

gah, toujours manquer une citation quelque part .. Merci pour l'édition. – VikingBlooded

+0

Cela donne "Vous avez une erreur dans votre syntaxe SQL, consultez le manuel correspondant à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de 'WHERE user =' '' à la ligne 2". J'ai également supprimé les espaces mais cela a donné la même erreur. – MBM

Questions connexes