2011-06-29 8 views
1

私は入れ子になったmysql_queryを持っています。LEFT JOINとエラーが発生する場所

$resultSub = mysql_query("SELECT * 
          FROM ensembles 
          WHERE en_name = $name 
         LEFT JOIN ensemble_names on ensembles.en_name = ensemble_names.en_nm_ID 
         LEFT JOIN students on ensembles.en_stu = students.s_ID 
         LEFT JOIN part_names on ensembles.en_part = part_names.p_nm_ID 
         ORDER BY $sort $orderBy"); 

問い合わせは、私がLEFT JOINコマンドの行をフィルタリングすることができると思ったWHERE句、なしで正常に動作しますが、それはそうではないのです。 LEFTが参加した後句を配置する必要があります

+1

あなたのwhere節が結合の後に来るべきです。 – Jrod

答えて

9

ザ・:

$resultSub = mysql_query("SELECT * 
          FROM ensembles 
         LEFT JOIN ensemble_names on ensembles.en_name = ensemble_names.en_nm_ID 
         LEFT JOIN students on ensembles.en_stu = students.s_ID 
         LEFT JOIN part_names on ensembles.en_part = part_names.p_nm_ID 
          WHERE en_name = $name 
         ORDER BY $sort $orderBy"); 
+0

@OMG Poniesくそーすごかった。 –

+1

再フォーマット後にテキストをコピーしました。あなたは私にそれを打ち負かす+1 –

+0

私は実際にあなたがやったことをやって、元の答えを精緻化の真ん中にいた。 +1カルマはあなたを指します。 –

0

さて、あなたは間違った場所にWHERE句を置きます。

the documentationを読んでください。