Page 1 sur 1

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

Posté : 12 nov. 2006, 09:07
par iptima
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.

Posté : 12 nov. 2006, 09:59
par Cyrano
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.

Posté : 12 nov. 2006, 10:23
par Invité
Merci Cyrano.

Bon dimanche.

Cordialement,

I.