Фундаментальные базы данных PHP

Привет, ребята, у меня проблемы с PDO в php, поскольку ошибка, которую он возвращает, является неопределенным индексом. Код для функции и запроса и возврат результата:

function getUserDetails($user) { $db = connect(); try { $stmt = $db->prepare('SELECT name,addr AS address,team FROM TreasureHunt.Player LEFT OUTER JOIN TreasureHunt.MemberOf ON (name=player) LEFT OUTER JOIN TreasureHunt.PlayerStats USING (player) WHERE name=:user'); $stmt->bindValue(':user', $user, PDO::PARAM_STR); $stmt->execute(); $results = $stmt->fetchAll(); $stmt->closeCursor(); } catch (PDOException $e) { print "Error : " . $e->getMessage(); die(); } return $results; } 

Однако при запуске кода для индексной страницы я получаю сообщение об ошибке: Undefined index: name

Код для индекса:

 try { $details = getUserDetails($_SESSION['player']); echo '<h2>Name</h2> ',$details['name']; echo '<h2>Address</h2>',$details['address']; echo '<h2>Current team</h2>',$details['team']; echo '<h2>Hunts played</h2> ',$details['nhunts']; echo '<h2>Badges</h2>'; foreach($details['badges'] as $badge) { echo '<span class="badge" title="',$badge['desc'],'">',$badge['name'],'</span><br />'; } } catch (Exception $e) { echo 'Cannot get user details'; } 

мой вопрос, почему он бросает уведомление и как мне обойти эту проблему?

fetchAll возвращает все результаты (потенциально несколько строк) в многомерном массиве :

 array( 0 => array(/* first row */), 1 => array(/* second row */), ... ) 

Вот почему в массиве нет прямого 'name' , оно должно быть [0]['name'] .
Или вы не должны fetchAll , просто fetchAll .