Utiliser virgule ou opérateur AND dans requête SQL

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 : Utiliser virgule ou opérateur AND dans requête SQL

par Invité » 12 nov. 2006, 10:23

Merci Cyrano.

Bon dimanche.

Cordialement,

I.

par Cyrano » 12 nov. 2006, 09:59

La requête se sépare en plusieurs parties :
-1- SELECT : on sépare les champs qui suivent par une virgule
-2- FROM : dans le cas où on effectue une sélection sur plusieurs tables, on sépare les noms de tables par des virgules également
-3- la clause WHERE : on sépare chaque clause ou groupe de clauses par "OR" ou "AND"
-4- autre clause possible, HAVING, ayant éventuellement plusieurs arguments séparés par "OR" ou "AND";
-5- autres clauses possibles ayant éventuellement plusieurs arguments : GROUP BY, ORDER BY, arguments séparés par des virgules.

C'est là le fonctionnement standard SQL.

Utiliser virgule ou opérateur AND dans requête SQL

par iptima » 12 nov. 2006, 09:07

Bonjour,

Je viens d'écrire la requête suivante :
$req= "SELECT nom ".
"AND UNIX_TIMESTAMP(date_modification) as date_modification_UNIX ". 
"FROM cherc ".
"WHERE (nom = '".$nom."')"
Or, je suis tracassé par le "AND" à la deuxième ligne. En effet, si j'utilise cette requête dans PhpMyAdmin, elle ne renvoie aucun résultat. Or, si je remplace le "AND" par une virgule, j'obtiens l'enregistrement. Quelle en est la raison ? Vaut-il donc mieux utiliser la virgule ?

Au fait, ma concaténation est-elle valable ? Cyrano m'a vivement recommandé, voilà quelques semaines, de l'utiliser dans mes requêtes, et j'essaie de m'y employer.

Merci.

Bonne journée,

I.