0

可以像在ezSQL 中那样将每一行作为一个对象来获取吗?例如,ezSQL 返回(print_r($sql):

Array (
    [0] => stdClass Object (
        [click_time] => 2011-09-12 17:30:06
        [referrer] => direct
        [user_agent] => Mozilla/5.0
        [country_code] => EN
    )
    [1] => stdClass Object (
        [click_time] => 2011-09-14 23:45:35
        [referrer] => direct
        [user_agent] => Mozilla/5.0
        [country_code] => EN
    )
)

但是如何在 adodb 中做到这一点?

4

1 回答 1

0

ADODB 使用资源而不是对象,因此您必须自己构建对象。

不知道您使用什么版本或功能与 ADODB 交互,这只是一个基本概念,您需要对字段有高级知识(除非您从资源本身获取字段列表,这通常是可能的):

$_GET['id'] = check_input($_GET['id']);
$query1 = "SELECT * FROM stats WHERE shorturl='{$_GET['id']}'";
$result1 = $myDB->Execute($query1) or die(GetDbError($myDB->ErrorMsg()));

$fields = array('click_time', 'referrer', 'user_agent', 'country_code', ...);
$obj = new stdClass;
foreach($fields as $field) $obj->$field = $result1->Fields($field);

这样做是创建一个对象,在该对象中创建一个成员变量(以数据库中的字段名称命名),并将该成员变量设置为该数据库字段返回的值。

于 2011-09-17T16:40:50.693 回答