Обучение/Помощь новичкам | inner join
Тема закрыта by
SNEG
Объединил 2 таблицы ,как выборку прописывать в select, чтобы в массиве вывести $user['username']; ?
________
посл. ред. 13.08.2023 в 22:43; всего 10 раз(а); by SNEG
sql
create table `_sessions` ( `user_id` int unsigned not null, `ip_address` varchar(15) not null ) engine=myisam default charset=utf8 auto_increment=1; create table `_users` ( `user_id` int unsigned not null primary key auto_increment, `username` varchar(32) not null unique ) engine=myisam default charset=utf8 auto_increment=1; SELECT FROM `".PREFIX."_sessions` AS `s` INNER JOIN `".PREFIX."_users` AS `u` ON `s.user_id` = `u.user_id` WHERE `key` = '".esc($_COOKIE[COOKIE_PREFIX.'_session'])."'" ________
посл. ред. 13.08.2023 в 22:43; всего 10 раз(а); by SNEG
Чтобы выбрать данные из объединенных таблиц и вывести username в массиве, вам нужно дополнить ваш запрос SQL с указанием столбцов, которые вы хотите выбрать. В данном случае, вы хотите выбрать столбец username из таблицы _users. Вот как может выглядеть ваш запрос: Обратите внимание, что в вашем исходном коде есть использование esc($_COOKIE[COOKIE_PREFIX.'_session']), предполагаю, что это некая функция, которая выполняет экранирование или защиту от инъекций. Убедитесь, что вы используете правильный способ защиты от SQL-инъекций в своем коде. Если вы хотите использовать результаты этого запроса в PHP для создания массива, то вы можете сделать это следующим образом: Замените $connection на вашу актуальную переменную соединения с базой данных и убедитесь, что вы обрабатываете ошибки и подключаетесь к базе данных правильным образом.
sql
SELECT u.username FROM `_sessions` AS s INNER JOIN `_users` AS u ON s.user_id = u.user_id WHERE s.key = '" . esc($_COOKIE[COOKIE_PREFIX.'_session']) . "'"; php
// Выполняем запрос к базе данных (ваш код для подключения к БД здесь) $result = mysqli_query($connection, $sql); // Создаем массив для хранения данных $usernames = array(); // Извлекаем данные и добавляем в массив while ($row = mysqli_fetch_assoc($result)) { $usernames[] = $row['username']; } // Теперь у вас есть массив $usernames с именами пользователей Чтобы выбрать данные из объединенных таблиц и вывести username в массиве, вам нужно дополнить ваш запрос SQL с указанием столбцов, которые вы хотите выбрать. В данном случае, вы хотите выбрать столбец username из таблицы _users. Вот как может выглядеть ваш запрос:
sql
SELECT u.username FROM `_sessions` AS s INNER JOIN `_users` AS u ON s.user_id = u.user_id WHERE s.key = '" . esc($_COOKIE[COOKIE_PREFIX.'_session']) . "'"; php
// Выполняем запрос к базе данных (ваш код для подключения к БД здесь) $result = mysqli_query($connection, $sql); // Создаем массив для хранения данных $usernames = array(); // Извлекаем данные и добавляем в массив while ($row = mysqli_fetch_assoc($result)) { $usernames[] = $row['username']; } // Теперь у вас есть массив $usernames с именами пользователей Не нужно переименовывать u.username as username ?
sql
SELECT u.username AS username FROM `_sessions` AS s INNER JOIN `_users` AS u ON s.user_id = u.user_id WHERE s.key = '" . esc($_COOKIE[COOKIE_PREFIX.'_session']) . "'"; php
// Выполняем запрос к базе данных (ваш код для подключения к БД здесь) $result = mysqli_query($connection, $sql); // Создаем массив для хранения данных $usernames = array(); // Извлекаем данные и добавляем в массив while ($row = mysqli_fetch_assoc($result)) { $usernames[] = $row['username']; } // Теперь у вас есть массив $usernames с именами пользователей ________
посл. ред. 13.08.2023 в 22:51; всего 1 раз(а); by SNEG
sql
SELECT u.user_id, u.username FROM `_sessions` AS s INNER JOIN `_users` AS u ON s.user_id = u.user_id WHERE s.key = '" . esc($_COOKIE[COOKIE_PREFIX.'_session']) . "'"; ________
посл. ред. 14.08.2023 в 00:03; всего 3 раз(а); by SNEG
sql
SELECT s.user_id, u.username AS username FROM `_sessions` AS s INNER JOIN `_users` AS u ON s.user_id = u.user_id WHERE s.key = '" . esc($_COOKIE[COOKIE_PREFIX.'_session']) . "'"; php
// Выполняем запрос к базе данных (ваш код для подключения к БД здесь) $result = mysqli_query($connection, $sql); // Создаем массив для хранения данных $user = mysqli_fetch_assoc($result); // Теперь у вас есть доступ к $user['user_id'] и $user['username']