Probleme avec WHERE

Eléphant du PHP | 351 Messages

11 déc. 2005, 13:57

Voilà le code :

Code : Tout sélectionner

SELECT * FROM table WHERE champ1 = '$id' && champ2 LIKE '%$mot%' || champ3 LIKE '%$mot%'
Mais ce n'est pas bon je voudrais que champ1 = '$id' sois obligé et ensuite on cherche soit dans champ2 soit dans champ3.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

11 déc. 2005, 14:34

Salut, il faut utiliser des parentheses autour de 2nd groupe de condition, de plus l'opérateur "et" en sql est "AND" et non "&&" pareil pour le "ou" => "OR", meme si ça fonctionne comme ça ce n'est pas correct:
$sql="SELECT * FROM table WHERE champ1 = '".$id."' AND ( champ2 LIKE '%".$mot."%' OR champ3 LIKE '%".$mot."%' )";
a éviter aussi de mettre *, si tu n'as pas besoins de tous les champs :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 351 Messages

11 déc. 2005, 15:14

Merci