안녕하세요 여러분, PHP에서 PDO에 약간의 문제가 있습니다. 반환되는 오류는 정의되지 않은 색인입니다. 내가주의라는 오류를 얻을 색인 페이지의 코드를 실행할 때PHP 데이터베이스 PDO 연결
이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;
}
그러나 : 정의되지 않은 인덱스를 다음에 대한
코드를 이름 기능과 쿼리 및 결과의 반환 코드는 다음입니다 색인은 다음과 같습니다.
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';
}
내 질문은 왜이 문제를 고발하고 어떻게이 문제를 해결할 수 있습니까?
무엇이'$ db = connect();'입니까? db와 어떻게 연결합니까? 오류의 내용은 무엇입니까? 당신은 너무 적은 세부 사항을 넣습니다. – Robert
'var_dump ($ details);'를 사용하여 얻은 것을 확인하십시오. ** 참고 : **'.' (점)와의 에코 문 concat에', '가 없음 – Rikesh
올바른 결과가없고 루프에서'$ details ['badges ']'등을 사용하므로 알림을 던질 수 있습니다. 이는 할당되지 않을 수 있습니다. @Rikesh는 var_dump 또는 print_r ($ details)을 사용하고 결과를 보여줄 것을 제안합니다. – Robert