Этот код возвращает только одну строку, но должен возвращать 2 строки. Я пробовал sql в php myadmin, и он отлично вернул 2 строки. Что я здесь делаю неправильно?
$request_list_result = $mysqli->query(" SELECT buddy_requester_id, buddy_reciepient_id, user_id, user_fullname FROM sb_buddies JOIN sb_users ON buddy_requester_id=user_id WHERE buddy_status='0' AND buddy_reciepient_id='". get_uid() ."'"); $request_list_row = $request_list_result->fetch_array(); echo $request_list['user_fullname'];
Btw, код выше обрабатывает файл profile.php с помощью следующего скрипта:
$index = new Template('views/template/one.php', array( 'subtitle' => 'Dashboard', 'stylesheets' => array('/assets/css/profile.css'), 'scripts' => array('/assets/js/dashboard.js'), 'sidebar' => 'sidebar.php', 'content' => 'views/profile.php', 'errors' => $errors, 'successes' => $successes, 'request_list' => $request_list_row //right here ), true);
Вам необходимо просмотреть результаты (как упоминалось в TheSmose)
while ($request_list_row = $request_list_result->fetch_array()) { echo $request_list['user_fullname']; }
И вам нужно отправить результирующий массив $request_list
в шаблон, а не $request_list_row
.
Изменить это
'request_list' => $request_list_row //right here
к этому
'request_list' => $request_list //right here
Если вы хотите больше, чем просто user_fullname
в своем шаблоне (и у вас нет PHP> = 5.3, необходимого для mysqli_result::fetch_all
), вам нужно будет создать собственный массив внутри цикла.
Я не знаю, что ожидает ваш шаблон кода, но вы можете попробовать
while ($request_list_row = $request_list_result->fetch_array()) { echo $request_list[] = $request_list_row; }
mysqli_result::fetch_array
только выбирает одну строку в виде массива, вы ищете
mysqli_result::fetch_all
для извлечения всех строк.
Больше информации здесь
Вы должны просмотреть результаты. Как бы то ни было, вы выбираете только первую строку.
$uid = get_uid(); $sql = "SELECT buddy_requester_id, buddy_reciepient_id, user_id, user_fullname FROM sb_buddies JOIN sb_users ON buddy_requester_id=user_id WHERE buddy_status='0' AND buddy_reciepient_id='{$uid}'"; $request_list_result = $mysqli->query($sql); while ($request_list_row = $request_list_result->fetch_array()) { echo $request_list['user_fullname']; }