Как вывести значение поля таблицы INNER JOIN ?

$search = mysql_query("SELECT *
FROM `albums`
INNER JOIN `artists`
ON `albums`.`aArtist` = `artists`.`aId` 
WHERE `albums`.`aName` LIKE '%$s%' or `artists`.`aName` LIKE '%$s%'") or die("error:" . mysql_error());
while($searchr=mysql_fetch_array($search)){
$logo = $searchr['aLogo'];
и т.д

А вот как мне получить albums.aName ?
Вот это $albom = $searchr['albums.aName']; не работает...
  • Вопрос задан
  • 2386 просмотров
Пригласить эксперта
Ответы на вопрос 1
На выходе все поля таблицы выдаются одним массивом, без разделения по таблицам.
В вашем случае `artists`.`aName` перекрывает `albums`.`aName`.
Чтобы иметь возможность оперировать данными по отдельности, можно в SELECT дописать (после звёздочки) , `albums`.`aName` as `albumsName`
тогда вы к нему можете обратиться как $albom = $searchr['albumsName'];

Если нужны данные только одной таблицы, можно писать так SELECT `albums`.* FROM ...
А вообще лучше строить базу так, чтобы названия полей в ней не дублировались.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы