-1

必要なIDの配列を取得するためにデータを取得しています

$STH = $DBH->prepare("SELECT char_id FROM att WHERE raid_id=:id AND spec=:spec AND status=:status");
$STH->bindValue(":id", $id);
$STH->bindValue(":spec", $curr_spec);
$STH->bindValue(":status", $curr_status);
$STH->setFetchMode(PDO::FETCH_ASSOC);
$STH->execute();
$temp1 = $STH->fetchAll();

このコードは完全に機能します。正しい値を返します。

$temporary =$temp1[0]["char_id"];
echo $temporary;

しかし、この for ループで配列から値を取得しようとすると、エコーで何も返されません。

for($i=0; $i < 2; $i++)
{
$tempor =$temp1[i]["char_id"];
echo $tempor;

//...
}

かなりの時間を費やしましたが、自分で解決できませんでした。可能であれば、私を助けてください。

4

1 に答える 1

4

$i変更するわけではありません。未定義の定数にアクセスしているため、error_log にエラーが表示されます。

$tempor =$temp1[i]["char_id"];

----------------^ change it to $i

ヒント: forループを使用する代わりに、foreachループを使用して、最初の 2 つのレコードのみをループするカウンターを使用することができます。

于 2013-06-10T14:30:17.443 に答える