2010-08-09 13 views
0
SELECT * FROM `objects` WHERE (user_id IN ('7,8,12,9') AND visibility IN ('0,1')); 

mais il ne renvoie que la substance correspond au premier élément du second tableau.
Il retourne la même chose que comme ceci:.MySQL: quelque chose ne va pas avec ma syntaxe SELECT FROM IN

SELECT * FROM `objects` WHERE (user_id IN ('7,8,12,9') AND visibility IN ('0')); 

(j'ai troqué les deux valeurs (de la visibilité arg) et un ensemble de résultats complètement différent a été retourné Ce que je veux, est à la fois des résultats dans une requête .

Il fait la même chose pour le premier tableau aussi. Seulement en utilisant la première valeur.

Je voudrais que les résultats de toutes les valeurs.

+2

Où est le "FROM"? –

+0

lol, oups. bon appel. – NullVoxPopuli

Répondre

3

Vous devez citer chaque valeur si sa chaîne :

SELECT objets WHERE (user_id IN ('7','8','12','9') AND visibility IN ('0','1'));

ou vous êtes vraiment affaire avec des nombres entiers que vous pourriez faire:

objets SELECTWHERE (user_id IN (7,8,12,9) AND visibility IN (0,1));

aussi où est votre clause FROM?

+2

Si user_id est un nombre entier, vous ne devriez pas avoir besoin de 'autour des nombres. – nos

1

Votre clause "IN" est erronée. Il doit être user_id in (7,8,12,9) ou, si l'ID utilisateur est un caractère, user_id in ('7','8','12','9')

Questions connexes