MySQL => PHP关联数组...了解未定义的变量错误

时间:2013-11-15 22:36:29

标签: php mysql arrays echo undefined

我正在尝试将数据存储在数组中,然后随时输出该数组的键。我有一个人员数据表,并成功使用print_r打印数组,但不能使用“echo $ staff_data;”做任何事。我觉得我非常接近,但它正在滑倒我。

我有两个功能:

function staff_data() {
    $staff_data = array();
    $query = mysql_query("SELECT * FROM `staff`");
    while ($row = mysql_fetch_assoc($query)) {
    $staff_data[] = $row;
    }
}

function output_staff($staff_data) {
return '<ul><li>' . implode('</li><li>', $staff_data) . '</li></ul>';
}

我没有收到正确的输出。目前我收到这些错误:

  

注意:未定义的变量:第11行的C:\ xampp \ htdocs \ projects \ etk \ internal \ staff.php&gt;中的staff_data

     

警告:implode():在C:\ xampp \ htdocs中传递的参数无效...第3行

指向我的output_staff函数。有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:2)

你的职能如何相关?您的staff_data()似乎没有返回任何内容(即null)。并且您的output_staff()返回字符串,因此您需要输出它。那应该是:

function staff_data() 
{
    $staff_data = array();
    $query = mysql_query("SELECT * FROM `staff`");
    while ($row = mysql_fetch_assoc($query)) {
       $staff_data[] = $row;
    }
    return $staff_data;
}
//code 

$data = staff_data();
echo output_staff($data);