2009-10-22 10 views
0

Y a-t-il une raison pour laquelle cette requête ne fonctionne pas? La requête suivante fonctionnera si j'exclus simplement la clause WHERE. J'ai besoin de savoir ce qui ne va pas. Je sais que les valeurs données de $ key existent dans la table, alors pourquoi cela ne fonctionne-t-il pas?Quel est le problème avec cette clause WHERE?

$q = "SELECT * WHERE t1.project=$key 
      FROM project_technologies AS t1 
      JOIN languages AS t2 
      ON t1.language = t2.key"; 

Tableau Ayons les champs suivants:

project_technologies
- clés
- projet
- langue

langues


- clé
- Nom

+0

commentaire obligatoire pour dire « méfiez-vous des monstres maléfiques de l'injection SQL ». –

Répondre

6

O goes va après FROM/JOIN.

SELECT * 
FROM  project_technologies AS t1 
JOIN  languages AS t2 
ON  t1.language = t2.key 
WHERE  t1.project=$key 
1

FROM vient avant WHERE dans une instruction SELECT.

1
"SELECT * FROM project_technologies AS t1 INNER JOIN languages AS t2 ON t1.language = t2.key WHERE t.project = '$key'"; 
5
SELECT * 
      FROM project_technologies AS t1 
      JOIN languages AS t2 
      ON t1.language = t2.key 
      WHERE t1.project=$key 
0

Vous devez placer votre clause WHERE après votre clause FROM.

6
SELECT * FROM project_technologies AS t1 
JOIN languages AS t2 
    ON t1.language = t2.key 
WHERE t1.project=$key 

le where devrait être à la fin (après JOIN)

3

Dans SQL vous écrivez:

SELECT ... à partir de tables ... OÙ conditions

Vous avez mis les choses dans le mauvais ordre ...

3

La clause WHERE vient après la clause FROM.

SELECT * 
FROM project_technologies as t1 
JOIN languages as t2 
on t1.language = ts.key 
WHERE t1.project = $key 
3

Je pense que WHERE doit venir après FROM. Avez-vous essayé cela?

$q = "SELECT * 
      FROM project_technologies AS t1 
      JOIN languages AS t2 
      ON t1.language = t2.key 
      WHERE t1.project=$key"; 
0

Peut-être que cela devrait être la bonne façon de l'écrire

"SELECT * FROM project_technologies AS t1 JOIN languages AS t2 ON t1.language = t2.key WHERE t1.project=$key"; 
Questions connexes