[Résolu] [Qst] - Eliminer un facteur lors de la recherche...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [Résolu] [Qst] - Eliminer un facteur lors de la recherche...

par casio » 05 juin 2009, 19:52

Le message d'erreur de mysql t'indique l'endroit exacte où mysql a rencontré un problème. Maintenant ce problème est généralement lié à l'élément qui se trouve juste avant :)

En effet, MySQL ne parvient pas à identifier de colonne nommée "Verif" ni d'instruction correspondant à un point ".", résultat il t'envoi une erreur...

Code : Tout sélectionner

WHERE Verif. <> '//'
Avec MySQL tu peux protéger le nom des champs comme tu l'as fait au début de ta requête

Code : Tout sélectionner

WHERE `Verif.` <> '//'
mais le mieux reste quand même dès le départ de ne pas mettre de caractères spéciaux autre que "-" ou "_" dans le nom d'un champ :)
Indeed :)
C'était juste ce point qui m'enquiquinait.
Merci à vous ! Je clos la requête.

par Ryle » 05 juin 2009, 18:46

Le message d'erreur de mysql t'indique l'endroit exacte où mysql a rencontré un problème. Maintenant ce problème est généralement lié à l'élément qui se trouve juste avant :)

En effet, MySQL ne parvient pas à identifier de colonne nommée "Verif" ni d'instruction correspondant à un point ".", résultat il t'envoi une erreur...

Code : Tout sélectionner

WHERE Verif. <> '//'
Avec MySQL tu peux protéger le nom des champs comme tu l'as fait au début de ta requête

Code : Tout sélectionner

WHERE `Verif.` <> '//'
mais le mieux reste quand même dès le départ de ne pas mettre de caractères spéciaux autre que "-" ou "_" dans le nom d'un champ :)

par casio » 05 juin 2009, 16:44

Ben ça se voit rien qu'à la coloration là :
premier apostrophe : début de la chaîne
deuxième (avant les slashes) : fin de la chaîne
double slashes : commentaire PHP

Je comprends même pas que ce code ne plante pas dès l'exécution du script.

c'est ta construction de chaîne qui est en cause, pas les //.
Je viens de tout re-vérifier.
J'ai donc maintenant :
(...)
$select = "SELECT *, TO_DAYS( NOW( ) ) - TO_DAYS( `Modif.` ) < 15 AS new FROM Ordinateurs WHERE Verif. <> '//' ORDER BY ".$order.",Introduction,Marque,Modele"; // Recherche des catégories
(...)
Mais cela continue de me donner :
Erreur : 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 '<> '//' ORDER BY Introduction,Introduction,Marque,Modele' at line 1
:(

par ouckileou » 01 juin 2009, 19:10

Ben ça se voit rien qu'à la coloration là :
premier apostrophe : début de la chaîne
deuxième (avant les slashes) : fin de la chaîne
double slashes : commentaire PHP

Je comprends même pas que ce code ne plante pas dès l'exécution du script.

c'est ta construction de chaîne qui est en cause, pas les //.

par casio » 01 juin 2009, 14:34

Any idea ?

par casio » 27 mai 2009, 08:49

Merci.
Du coup, j'ai maintenant :
(...)
$select = 'select *, TO_DAYS( NOW( ) ) - TO_DAYS( `Modif.` ) < 15 AS new FROM Ordinateurs WHERE Verif. <> '//' ORDER BY '.$order.',Introduction,Marque,Modele'; // Recherche des catégories
(...)
Note que j'ai essayé "//", // et '//' et les trois me retournent une erreur :
Erreur : 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 '<> // ORDER BY Introduction,Introduction,Marque,Modele' at line 1
Du coup, je me demande s'il aime bien les //.

Est il possible plutôt de tester si le champs à plus de 2 caractères ? (En gros, n'afficher que ce qui a plus de caractères que //)

par furiouslol » 26 mai 2009, 22:25

Euh ouais je suis passé trop vite fait, autant pour moi

Donc l'opérateur "différent de" c'est <> en SQL

Donc WHERE verif <> 'ta valeur'

par casio » 26 mai 2009, 10:20

Salut

WHERE verif <> '15'
Pourquoi "15" ?

par furiouslol » 26 mai 2009, 01:41

Salut

WHERE verif <> '15'

par casio » 26 mai 2009, 00:50

(...)
Donnes nous plus de détails ,
(...)
Indeed...

Sur la requête suivante :
(...)
$select = 'select *, TO_DAYS( NOW( ) ) - TO_DAYS( `Modif.` ) < 15 AS new FROM Ordinateurs ORDER BY '.$order.',Introduction,Marque,Modele'; // Recherche des catégories
(...)
J'aimerais rajouter la condition "WHERE Verif. n'est pas '//'"...
Mais je butte sur la nomenclature...

par stopher » 15 mai 2009, 09:27

Slt ,

Donnes nous plus de détails ,

requêtes qui posent problèmes , exemples ect ..

sinon , c'est assez difficile de bien cerner ton problème , et l'on risque de répondre à coté .

Ch.

[Résolu] [Qst] - Eliminer un facteur lors de la recherche...

par casio » 15 mai 2009, 02:48

Salutations,

Je cherche a exclure des requêtes SQL les enregistrements dont les champs "Verif." contiennent "//", et je ne sais pas comment paramètrer la requête SELECT. J'ai essayé avec WHERE, mais je ne dois pas avoir une bonne nomenclature...

Pouvez-vous m'aider ?