未定义的索引

3
我遇到了这个错误:
Notice: Undefined index: kolebro in /Applications/MAMP/htdocs/includes.php on line 12

function.php

public function User_Details($uid) 
{
    $username = mysql_real_escape_string($uid);
    $query = mysql_query("SELECT uid, username, sansiti, kolebro AS full_name FROM users WHERE uid = '$uid' AND status = '1'") or die(mysql_error());
    $data = mysql_fetch_array($query);
    return $data;    
}

includes.php

$session_data = $Wall->User_Details($uid);
$session_sansiti = $session_data['sansiti']; // <== Line 12
$session_kolebro = $session_data['kolebro'];

index.php

<?php echo $session_kolebro; ?>
<?php echo $session_sansiti; ?>

有人能帮我理解这个错误是什么原因吗?


注意(不是错误)显示了正在发生的事情——您的$session_data数组在kolebro键下没有任何值。 - fracz
使用 var_dump($session_data) 查看内容。 - msfoster
我认为你的函数不起作用,因为它没有包含连接。 - Mihai
Mihai使用的是ext/mysql而不是mysqli,因此无论作用域如何,都会使用最后打开的连接。 - Michael Berkowski
@MichaelBerkowski 谢谢,好知道。 - Mihai
1个回答

5
你正在使用别名 full_name 检索数据库字段 kolebro,因此 $session_data 不会有一个 kolebro 索引,而是会有一个叫做 full_name 的索引。
  • 要么将 $session_data['kolebro'] 改为 $session_data['full_name']
  • 要么从 MySQL 查询中删除 AS full_name

此外,请勿在新代码中使用mysql_*函数。它们已经不再维护并被正式弃用。看到红色框了吗?学习使用预处理语句,并使用PDOMySQLi - 本文将帮助您决定使用哪个。如果选择PDO,这里有一个很好的教程

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接