PHP MySQL, объединение более двух таблиц вместе с одинаковыми идентификаторами? - PullRequest
0 голосов
/ 22 июня 2011

Вот с чем я работаю:

$query = "SELECT Products.Title, Product_Lines.pl_Title, Manufacturers.man_Title".
 "FROM Products, Product_Lines, Manufacturers ".
    "WHERE Products.pl_ID = Product_Lines.pl_ID AND Product_Lines.man_ID = Manufacturers.man_ID";

$result = mysql_query($query) or die(mysql_error());


while($row = mysql_fetch_array($result)){
    echo $row['Title']. " - ". $row['pl_Title']. " - ". $row['man_Title'];
    echo "<br />";
}

Я получаю эту ошибку:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server
version for the right syntax to use near 'WHERE Products.pl_ID = Product_Lines.pl_ID AND  
Product_Lines.man_ID = Manufactur' at line 1   

Я не знаком с этим методом и с этой ошибкой

Ответы [ 3 ]

2 голосов
/ 22 июня 2011

Я не вижу пробелов перед вашим предложением FROM.Это является возможной причиной ошибки.Попробуйте:

$query = "SELECT Products.Title, Product_Lines.pl_Title, Manufacturers.man_Title".
 " FROM Products, Product_Lines, Manufacturers ".
    "WHERE Products.pl_ID = Product_Lines.pl_ID AND Product_Lines.man_ID = Manufacturers.man_ID";
2 голосов
/ 22 июня 2011
SELECT Products.Title, Product_Lines.pl_Title, Manufacturers.man_Title
 FROM Products INNER JOIN Product_Lines ON Products.pl_ID = Product_Lines.pl_ID INNER JOIN Manufacturers ON Product_Lines.man_ID = Manufacturers.man_ID

БУДЕТ

0 голосов
/ 22 июня 2011

Нужно следовать двум вещам

  • Первый ключ
  • Присоединиться

Поиск Join i.e [left join right join...] В промежутке вы получите ответ на ваш вопрос /..

...