2012-10-14 78 views
0

我到处搜索过,虽然我在这里和文档中发现了一些相近的答案,但我无法将它应用于他们以适应我的情况。如何将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 & ADODB_FETCH_ASSOC,但仍然无法使其工作。

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

回答

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,& ADODB_FETCH_BOTH和测试这个 'BOTH' 是对我的作品的唯一类型。

相关问题