错误:未定义的索引?

时间:2011-10-21 13:53:02

标签: php mysql database indexing undefined

我从函数(var_dump())获取此数组:

...{ [0]=> string(7) "user_id" } [1]=> array(1) { [0]=> string(7) "user_id" } [2]...

当我尝试将值分隔为:

$ var2 = $ var ['user_id']

我收到错误“undefined index'user_id'”,尽管如你所见,该值的名称是“user_id”,我已经检查了我的数据库一百次,这就是索引。

还有哪些其他可能的错误来源?

我感谢任何帮助! 提前谢谢!

function get_subscribitions($user)
{

$user = mysql_real_escape_string ($user);

  $sql = "SELECT * FROM `subscribe` WHERE subscriber = '$user'";

 $result = mysql_query($sql);

  $rows = array();

  while ($row = mysql_fetch_assoc($result)) {
      $rows[] = $row;
  }

  mysql_free_result($result);

  return $rows;

任何人都可以找出上面代码中的哪个位置,我犯了导致这个问题的错误? 感谢。

6 个答案:

答案 0 :(得分:1)

[0]是索引,数据是“user_id”

答案 1 :(得分:1)

数组键0包含一个名为'user_id'的字符串,但没有名为'user_id'的键,因此您收到错误的原因。

我建议你看看你是如何编译这些数据的(也许是查询结果?)。

答案 2 :(得分:1)

你错了。数组的结构如下:

array:
    [0] => array:
        [0] => "user_id"
    [1] => array:
        [0] => "user_id"

您需要像这样访问它:$var[0][0],您将获得user_id。最有可能在设置阵列时你做错了什么。

答案 3 :(得分:0)

索引是[0]。我认为你的结构不正确。索引是声明的左侧,值是右侧。您已使用增量索引将所有值分配给“user_id”。

答案 4 :(得分:0)

user_id不是数组键(可以由[]访问),它是一个值。

但您可以使用array_search()

$index = array_search('user_id', $your_array);

var_dump(  $your_array[$index]  );

答案 5 :(得分:0)

错误,因为user_id不是index,而是index 0

的值