erreur de syntaxe dans ma requete

Petit nouveau ! | 7 Messages

12 juin 2010, 15:46

Bonjour à tous,

J'ai lancé ma requete dans phpmyadmin
SELECT site_internet FROM site_douteux WHERE site_internet LIKE 'www.".$_POST['class_alpha']."%' OR site_internet REGEXP '^[^a-z]".$_POST['class_alpha']."%' "
et il me donne cela comme erreur
syntax to use near 'class_alpha']."%' OR site_internet REGEXP '^[^a-z]".$_POST['class_alpha']."%' "' at line 1
mais je n'arrive pas trouvé le problème.... Est ce que quelqu'un aurait une idée d'où vient l'erreur de syntaxe...?

D'avance merci pour votre aide

ViPHP
AB
ViPHP | 5818 Messages

12 juin 2010, 16:49

C'est normal ce '%' dans le REGEXP ?

Petit nouveau ! | 7 Messages

12 juin 2010, 17:25

j'ai essayé de le supprimer mais cela ne change rien

ViPHP
ViPHP | 5462 Messages

12 juin 2010, 17:26

dans phpmyadmin $_POST ca existe pas, tu ecris tu PHP la

Petit nouveau ! | 7 Messages

13 juin 2010, 10:49

problème resolu, voici comment j'ai écrit ma requete pour que ca marche
$requete="SELECT site_internet FROM site_douteux WHERE site_internet LIKE 'www.".$_POST['class_alpha']."%' OR site_internet LIKE '".$_POST['class_alpha']."%' ";

Petit nouveau ! | 7 Messages

13 juin 2010, 13:31

J'ai parlé trop vite.... en faite vu que j ai des sites qui commencent par www.monsite.com et monsite.com le bug se trouve lorsque j'ai ceci

www.monsite.com
wonderland.com

en cliquant sur la lettre W pour afficher tout les sites commencant par W bein j'aurais tout ceux qui commence par www. aussi...
qu'est ce que je dois ajouter dans ma requete pour lui dire de commencer après les www. ?

substring , left ?

merci pour votre aide

ViPHP
AB
ViPHP | 5818 Messages

13 juin 2010, 17:12

$query = "SELECT site_internet 
FROM site_douteux 

WHERE (SELECT REPLACE(site_internet, 'www.', '')) 
LIKE '".$_POST['class_alpha']."%' ";

Petit nouveau ! | 7 Messages

13 juin 2010, 18:33

super ca marche, en fait tu as selectionné et remplacer les 'www.' par rien, juste ?

encore merci pour ton aide

ViPHP
AB
ViPHP | 5818 Messages

13 juin 2010, 19:46

Ben oui :wink:

Mais globalement il serait plus juste de dire que j'ai remplacé les 'www.' par rien, puis fait la sélection sur le résultat, puisque le SELECT REPLACE est dans la clause WHERE :)