Каждая строка является объектом в adodb? - PullRequest
0 голосов
/ 17 сентября 2011

Можно ли получить каждую строку как объект, как в 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?

1 Ответ

0 голосов
/ 17 сентября 2011

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);

Что это делает, это создает объект, создает переменную-членв этом объекте (названном по имени поля из базы данных) и установите для этой переменной-члена значение, возвращаемое для этого поля базы данных.

...