关联数组未找到指定的索引

时间:2015-05-13 19:39:16

标签: php

我遇到了关联数组的问题。当我检查数组$keywordstoupdate确实返回一个值但是当它到达echo时它表示Keyword未定义。但是,print_r()打印它,从这个角度来看一切都很好。但是当我试图回声时,Keyword就丢失了。

function getkeywords($mysqli, $someid)
{

    $keywords=array();
    $query='select Keyword from keywords where someId=?';
    $stmt= $mysqli->stmt_init();
    $stmt->prepare($query);
    $stmt->bind_param('i', $someid);
    $stmt->execute();
    $stmt->bind_result($Keyword);
    while($stmt->fetch())
    {

        $keywords[]= array("Keyword" => $Keyword);
    }

    return $keywords;
}

  $keywordstoupdate[]=getkeywords($mysqli, $someid);

  <textarea id='textarea_keywords' name='keywords'>
  <?php
  if(count($keywordstoupdate)>0){
    for($i=0; count($keywordstoupdate)>$i; $i++){ 
     echo ( $keywordstoupdate[$i]['Keyword']." ");
    }
  } ?></textarea>

print_r()

的结果
      Array
   (
         [0] => Array
         (
               [Keyword] => asdf
         )

    )

1 个答案:

答案 0 :(得分:3)

看起来你正在意外地创建一个三维数组,而你的循环期待一个二维数组。

尝试更改:
$keywordstoupdate[]=getkeywords($mysqli, $someid);

要:
$keywordstoupdate=getkeywords($mysqli, $someid);