2011-09-17 9 views
0

ezSQL 에서처럼 각 행을 객체로 가져올 수 있습니까? 예를 들어 는, ezSQL 반환 (인 print_r ($의 SQL) :.각 행은 adodb의 객체입니까?

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에 그렇게하는 방법은 객체를 직접 구축해야하므로

답변

0

ADODB는, 객체가 아닌 resources를 사용

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

이 작업은 개체를 만들고 데이터베이스의 필드 이름을 사용하여 명명 된 해당 개체에 멤버 변수를 만들고 해당 멤버 변수를 해당 데이터베이스 필드에 대해 반환 된 값으로 설정하는 것입니다.