Domanda

sto usando query con parametri con PHP ho le seguenti due query:

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

e

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

In breve, le domande sono in discussione nella tabella "messaggi" e sono in fase di riferimento per la loro question_id.

Ho qualche codice ridondante nel mio codice PHP perché io non ne so abbastanza mysql per interrogare il database una volta per ottenere i risultati che ho bisogno di queste due query.

E 'il modo in cui lo sto facendo bene e trattare con le parti ridondanti del mio codice PHP o c'è un modo migliore di realizzare questo?

È stato utile?

Soluzione

uso unirsi al posto di colonne corrispondenti in cui la clausola

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

E

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

Altri suggerimenti

2 domande è del tutto bene lì, combinando in uscita da diverse tabelle non è un'idea molto pulita.

Hai solo bisogno di controllare se si dispone di tutti gli indici combinati su tutti i campi si utilizzano in WHERE, e sarà molto veloce.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top