0

配列からのレコードの更新に問題があります。更新に行くと、最初の桁しか取得できません。たとえば、実際の値が58の場合、5を挿入するだけです。

以下は私のコードであり、以下にさらに説明があります。

$bidArr = $tmpArr;

foreach($tmpArr as $key => $val)
{
$sqlEp = "select sum(endpoints_c), account_id1_c as id from accounts_cstm as ac join accounts as a on a.id = ac.id_c 
where account_id1_c ='$val' and (status_c IN ('active','llp')) and deleted='0'";
$rowEp = $db->query($sqlEp);
$recordEp = $db->fetch_row($rowEp);

$bidArr[$key]['sold_ep_c'] = $recordEp[0];

//print "<pre>EP";
//print_r($recordEp);

}

foreach($bidArr as $key => $val)
{

$data['sold_ep_c'] = $val['sold_ep_c'];
$db->query_update(TABLE_ACC, $data, "id_c='".$key."'");
print "<pre>EP";
print_r($key);
print_r($data);
}

何が起こっているのかというと、最初に取得したprint_rのコメントを外したときです。

EPArray([0] => 16 [1] => 51067d38

そうです。しかし、私がそれをコメントアウトして、私が得る2番目のもののコメントを外すと:

51067d38([sold_ep_c] => 1)

なぜこれが最初の桁を取り除くのですか?

4

1 に答える 1

0

チャットによると...アレイは初期化されていません。 $bidArr[$key] = array();最初のループで!

于 2012-06-27T03:31:52.520 に答える