Question

J'utilise des requêtes paramétrées avec PHP j'ai les deux requêtes suivantes:

SELECT username,question_text 
FROM questions,users 
WHERE questions.question_id = 4 AND questions.user_id = users.user_id

et

SELECT username, post_text 
FROM posts,users WHERE posts.question_id = 4 
AND posts.user_id = users.user_id ORDER BY posts.post_id ASC

En bref, les questions sont en cours de discussion dans le tableau « postes » et sont référencé par leur question_id.

J'ai un code redondant dans mon code PHP parce que je ne connais pas assez mysql pour interroger la base de données une fois pour obtenir les résultats que je besoin de ces deux requêtes.

La façon dont je le fais bien et accord avec les parties redondantes de mon code PHP ou est-il une meilleure façon d'y parvenir?

Était-ce utile?

La solution

au lieu de se joindre à l'utilisation des colonnes de correspondance dans la clause WHERE

SELECT username,question_text 
FROM questions INNER JOIN users on questions.user_id = users.user_id
WHERE questions.question_id = 4

SELECT username, post_text 
FROM posts INNER JOIN users on posts.user_id = users.user_id 
WHERE posts.question_id = 4 
ORDER BY posts.post_id ASC

Autres conseils

2 requêtes est tout à fait bien là, en combinant la sortie de plusieurs tables ne sont pas idée très propre.

Il vous suffit de vérifier si vous avez tous les index combinés sur tous les champs que vous utilisez dans WHERE, et il sera très rapide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top