Intereting Posts
Использовать форматирование HTML в электронной почте, отправленной с PHP Как узнать, не был ли отправлен элемент формы Как найти ближайшее местоположение с использованием широты и долготы из базы данных sql? Как SUM и GROUP многомерным массивом с помощью ключа? Что такое использование конструктора в абстрактном классе в php Пакеты Composer, автозагрузка неклассифицированных файлов Заполнение поля выбора с помощью JQUERY, AJAX и PHP «To» адрес добавляется дважды при использовании PHPmailer SCREAM: подавление ошибок игнорируется для || Неопределенная переменная: суффикс изменить фоновое изображение на другое, созданное динамически с помощью сценария вызова ajax Facebook PHP API сообщение на стене подпадает под "Последние сообщения от других" Есть встроенный способ в PHP для синтаксического анализа такой строки: '/path/to/../../up/something.txt' Есть ли способ узнать переменные POST, не зная их имен? PHP DOMDocument, поиск определенных элементов Авто скачать mpdf сгенерированный pdf-документ

Избегание неоднозначных ошибок столбцов при использовании JOIN в MySQL

Мой запрос выглядит так:

$sql = " SELECT u.*, s.* FROM bands u inner join statuses s on u.status_id = s.id WHERE u.status_id = 1 ORDER BY u.band_name"; 

И я хотел бы вывести идентификатор из таблицы bands следующим образом:

 <?php while($row = $result->fetch_assoc()){ ?> <tr> <?php echo '<td id="' . $row['id'] . '">This is the band</td>'; ?> </tr> <?php } 

но $row['id'] ничего не выводит, я предполагаю, из-за какой-то неоднозначной проблемы с столбцом, но я не уверен, как правильно запросить его. Я также пробовал $row['u.id'] но я не думаю, что это правильный псевдоним, потому что он ничего не выводил.

Вы захотите создать не конфликтующие псевдонимы для столбцов id;

 SELECT u.*, s.*, u.id AS uid, s.id AS sid FROM bands u inner join statuses s on u.status_id = s.id WHERE u.status_id = 1 ORDER BY u.band_name 

Затем вы можете выбрать их как $row['uid'] и $row['sid'] и по-прежнему получать доступ к своим другим столбцам, как обычно. Столбец с конфликтующим id также все еще существует, просто не используйте его.

добавьте псевдоним на те же имена столбцов. ех,

 SELECT u.id UID,.... 

то вы можете теперь получить его с помощью псевдонима ( например, UID )