Requête WHERE : ça coince [Résolu] - PHP - Programmation
Marsh Posté le 06-09-2005 à 22:02:23
c'est pas du php mais du sql
sinon la syntaxe sql est la bonne pour faire ce que tu veux
EDIT: oublies pas les quotes si c'est des chaines de caractere
Code :
|
Marsh Posté le 06-09-2005 à 22:09:40
Justement j'avais essayé avec les quotes, mais j'ai cette erreur :
Citation : #1270 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT), (utf8_general_ci,COERCIBLE), (utf8_general_ci,COERCIBLE) for operation ' IN ' |
J'en ai déduit que ce n'était pas la bonne syntaxe
Marsh Posté le 07-09-2005 à 11:45:28
Traduction du message d'erreur : tentative de comparer une chaine à un ensemble de chaines ayant des codages différents. ("latin1_swedish_ci" et "utf8_general_ci" )
Marsh Posté le 07-09-2005 à 12:58:00
Bon je ne comprend pas pourquoi ni comment, mais j'ai réussi avec le IN :
Citation : $champs = "champs IN ('champ1', 'champ2', 'champ3')"; |
Il me semble que c'est exactement ce que j'avais écrit hier, mais maintenant je n'ai plus l'erreur... Pourtant je suis persuadé de ne rien avoir changé !
Merci pour votre aide
Edit : pour ceux qui rencontreraient l'erreur n° 1270, vérifiez l'interclassement sur la page d'accueil de MySql : le mien s'était changé en UFT-8, sûrement par une fausse manip, je l'ai remis en latin1_swrdish_ci et ça fonctionne.
Marsh Posté le 06-09-2005 à 21:55:26
Bonjour,
J'aimerais savoir s'il existe une façon de sélectionner plusieurs champs par une requête WHERE sans mentionner plusieurs fois le champ. Bon je ne sais pas comment être plus clair donc un exemple :
Ce que je voudrais :
SELECT * FROM table WHERE champ1 LIKE machin OR truc OR bidule
Ce que je ne veux pas :
SELECT * FROM table WHERE champ1 LIKE machin OR champ1 LIKE truc OR champ1 LIKE bidule
Voilà je ne ne veux pas répéter champ1 à chaque fois, j'aimerais le mettre une fois au début et ensuite ne mettre que les valeurs. J'ai essayé ceci :
SELECT * FROM table WHERE champ1 IN (choix1, choix2, choix3, choix4);
mais j'ai une erreur qui me dit que choix1 n'existe pas (j'ai pourtant fait un copier coller)
J'espère que j'ai été assez clair
Merci pour votre aide.
Jarodd
Message édité par superjarodd le 07-09-2005 à 12:59:04