有可能像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中做到这一点?
答案 0 :(得分: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);
这样做是创建一个对象,在该对象中创建一个成员变量(用数据库中的字段名称命名),并将该成员变量设置为为该数据库字段返回的值。