Bonjour, ça peut paraître tout bête, mais si vous mettez LIMIT 0,25 à la fin de la requête au lieu de la clause ORDER?
Bonsoir,
J'essais de crée un système de filtre sur mon site ..
J'ai un problème avec ma page de traitement j'ai une erreur SQL ..
Ce que je fais c'est que je compose ma requète SQL suivant les variables qui existent ..
Voici le code PHP
J'ai fais un echo pour voir ce que ma request me renvoyait :
SELECT * FROM artistes INNER JOIN collections ON artistes.id_artiste = collections.id_artiste WHERE artistes.id_user=1 AND (collections.categorie LIKE "%Illustration%") AND (artistes.artiste LIKE "%mike%" OR collections.notes LIKE "%mike%") LIMIT 0, 25 ORDER BY artistes.id_artiste DESC
L'erreur SQL:
Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"%Illustration%") AND (artistes.artiste LIKE "%mike%" OR col' at line 1
Merci d'avance
5 réponses
Merci mais ça ne fonctionne toujours pas
Je crois que c'est le fait d'avoir plusieurs LIKE
Bonsoir
Remplacez les griffes du like par des quotes
Bonjour,
l'erreur vient du fait que l'instruction LIMIT doit être placée tout à la fin de ta requête :
Si tu lances la requête suivante cela devrait fonctionner.
Du coup à toi de réordonner la génération de ta requête.
Si non autre conseil, dans ton try/catch tu ne devrais laisser que la connexion à la base de données et enlever les autres blocks de code du try.
Bon courage.
Pour information, pour ordres, j'aurais utilisé un switch à ta place.