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 子句只匹配一条记录),包含多个列/字段。

我希望将这些字段中的每一个分配给与该字段同名的变量。

我已经尝试了上述许多不同的配置和替代方案,包括 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 回答