PHP未定义索引:name
我在尝试回显用户名称时出错 选择代码PHP未定义索引:name,php,Php,我在尝试回显用户名称时出错 选择代码 public function profile($username){ $result = mysql_query("SELECT * FROM " . PFX . "employees WHERE email ='$username'"); $employee = array(); while($rows = mysql_fetch_assoc($result)){ $employee[] = $rows;
public function profile($username){
$result = mysql_query("SELECT * FROM " . PFX . "employees WHERE email ='$username'");
$employee = array();
while($rows = mysql_fetch_assoc($result)){
$employee[] = $rows;
return $employee;
}
}
第页:
$employee = $user->profile($username);
<?php echo $employee['name']; ?>
所以它确实从数据库中获取用户,但它不能只回显名称,有人能看到错误在哪里吗
我知道代码没有更新。正如您在
print\r()
上看到的,它仍然嵌套在:
Array ( [0] => Array ( [id] => 4 [name] => Test Person...
^ another dimension inside.
因此,在访问它时:
$employee = $user->profile($username);
<?php echo $employee[0]['name']; ?>
然后你可以这样做:
$employee = $user->profile($username);
<?php echo $employee['name']; ?>
$employee=$user->profile($username);
试试这个:
$employee[0]['name'];
把你的台词换成这个。它将访问$employee中的第一条记录,然后打印第一条记录的名称
<?php echo $employee[0]['name']; ?>
试试这段代码
<?php echo $employee[0]."<br/>"; ?>
<?php echo $employee[1]."<br/>"; ?>
<?php echo $employee[2]."<br/>"; ?>
为什么返回在while循环中?遗漏行的索引是很常见的。我以前也犯过同样的错误:)@MichaelWestergaard当然很高兴这有帮助,我建议您在这一条上使用PDO和预处理语句,因为mysql已经被弃用了,而且您当前的代码很容易被sql注入,因为它的输入直接用于查询语句中。我知道它没有那么安全,等等。但它真的不需要任何安全性。您能解释一下您的答案吗,这将有助于OP更好地理解您提出的解决方案。
<?php echo $employee[0]['name']; ?>
<?php echo $employee[0]."<br/>"; ?>
<?php echo $employee[1]."<br/>"; ?>
<?php echo $employee[2]."<br/>"; ?>