0

私はどこでも検索しましたが、こことドキュメントでいくつかの近い答えを見つけましたが、それを自分の状況に適用することはできません.

おそらく、誰かが私が次のことをadodbのやり方に変換するのを手伝ってくれるほど親切でしょうか?

foreach ($rs as $field => $value) {
  $$field=stripslashes($value);
}
$rs->Close();

これは私の最近の試みです。

while (!$rs->EOF) {
  for ($i=0, $max=$rs->FieldCount(); $i < $max; $i++){

    $$rs->fields($i) = $rs->fields[$i];
  }
  $rs->MoveNext();
}

一般的な考え方は、$rs は複数の列/フィールドを含む単一のレコードを取得する必要があるということです (WHERE 句は 1 つのレコードにのみ一致するため)。

これらの各フィールドを、フィールドと同じ名前の変数に割り当てたいと考えています。

ADODB_FETCH_BOTH ADODB_FETCH_NUM & ADODB_FETCH_ASSOC など、上記のさまざまな構成と代替手段を試しましたが、まだ機能しません。

これは同様の質問ですが、その回答を適用できません。とても有難い。

4

1 に答える 1

0

私は答えを見つけました、または少なくとも次のことが私にとってはうまくいきました。

マニュアルのこの項目は、それまで知らなかった FetchField に関する情報を提供し、そこから何をすべきかを理解することができました。

while (!$rs->EOF) {
  for ($i=0, $max=$rs->FieldCount(); $i < $max; $i++) {
    $fld    = $rs->FetchField($i);
    $name   = $fld->name;
    $$name  = stripslashes($rs->fields[$i]);
  }
  $rs->MoveNext();
}

これを接続タイプ ADODB_FETCH_ASSOC、ADODB_FETCH_NUM、および ADODB_FETCH_BOTH でテストしましたが、'BOTH' が唯一のタイプです。

于 2012-10-14T15:31:38.613 に答える