Проблема с совместными таблицами в mysql PHP

Когда я использую этот запрос, я получаю уведомление об ошибке для моих переменных в моем массиве - если я использую $ author_slug = $ row ['slug']; вместо $ author_slug = $ row ['authors.slug']; он работает, но как я узнаю, какие данные из какой таблицы?

$select_quote=mysql_query("SELECT authors.name, authors.id, authors.img, authors.slug, quotes.author_id, quotes.title, quotes.id, quotes.meta_keys, quotes.meta_description, quotes.slug, quotes.content
 from quotes, authors
 WHERE quotes.author_id = authors.id
 ORDER BY RAND() LIMIT 1 ");

 while ($row=mysql_fetch_array($select_quote)) {

 $author_id = $row['authors.id'];
 $author_name = $row['authors.name'];
 $author_slug = $row['authors.slug'];

 echo" $author_slug";
 }
1 ответ

Вы можете использовать псевдонимы для этих полей:

SELECT authors.name
 , authors.id
 , authors.img
 , authors.slug AS 'authors.slug'
 , quotes.author_id
 , quotes.title
 , quotes.id
 , quotes.meta_keys
 , quotes.meta_description
 , quotes.slug AS 'quotes.slug'
 , quotes.content
 FROM quotes, authors
 WHERE quotes.author_id = authors.id
 ORDER BY RAND() LIMIT 1

Таким образом, вы можете получить доступ к полученным данным в php, например:

$author_slug = $row['authors.slug']
 $quotes_slug = $row['quotes.slug']

licensed under cc by-sa 3.0 with attribution.