如何指定字段名称& ADODB结果集的值设置为与字段名称相同的变量?

时间:2012-10-14 06:18:15

标签: php adodb

我到处搜索过,虽然我在这里和文档中找到了一些接近的答案,但我无法将它应用到我的情况中。

也许有人可以帮助我将以下内容转换为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&amp; ADODB_FETCH_ASSOC但仍无法使其正常工作。

This是一个类似的问题,但我无法应用它的答案。 非常感谢。

1 个答案:

答案 0 :(得分:0)

我找到了答案,或者至少以下内容对我有用。

the manual中的这个项目提供了有关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和&amp; ADODB_FETCH_BOTH和'BOTH'是唯一适用于我的类型。