0
嘿傢伙即時通訊在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();'做什麼?你如何連接數據庫?錯誤的內容是什麼?你把太少的細節 – Robert
檢查你使用'var_dump($ details);'得到了什麼。 **注意:**在echo語句中使用'.'(dot)&amp;不要用'',' – Rikesh
concat可以拋出通知,因爲沒有正確的結果,並且在循環中使用'$ details ['badges']'等。這可能不會被分配。由於@Rikesh建議使用var_dump或print_r($ details)並顯示結果。 – Robert