如何使用com组件的函数将多字段记录集存到多维数组里
程序员文章站
2024-04-06 16:19:37
...
php5.4使用com连接到phd数据库,此数据库特殊,表名,字段不好写,是honeywell的数据库。com查询返回多条记录,且多个字段,我想对某个字段进行算术运算,不知道如何操作,本人新手,上网查资料说是把记录集存到多维数组里,苦于不会php,请高手帮帮忙!谢谢!
我打个比方,查询0601班级的学生成绩,返回多条记录,每条记录包含:班级、学号、姓名、科目(语文)、成绩字段。如何使用com组件的函数将记录集存到多维数组里,单纯操作数组,我差不多会。
$conn = new COM("ADODB.Connection");
$connstr="...略了";
$conn->Open($connstr);
$starttime="2014-03-20 08:30:00";
$sql="Select banji,sno,name,kemu,chengji FROM stu_cj WHERE banji='0601' AND kemu='yuwen'";
$stmt=$conn->Execute($sql);
下面如何使用com函数将记录集$stmt存储到多维数组,并操作数组
另外也可写用 obcd 函数组进行操作
我打个比方,查询0601班级的学生成绩,返回多条记录,每条记录包含:班级、学号、姓名、科目(语文)、成绩字段。如何使用com组件的函数将记录集存到多维数组里,单纯操作数组,我差不多会。
$conn = new COM("ADODB.Connection");
$connstr="...略了";
$conn->Open($connstr);
$starttime="2014-03-20 08:30:00";
$sql="Select banji,sno,name,kemu,chengji FROM stu_cj WHERE banji='0601' AND kemu='yuwen'";
$stmt=$conn->Execute($sql);
下面如何使用com函数将记录集$stmt存储到多维数组,并操作数组
回复讨论(解决方案)
不知道phd数据库是什么
不过既然可以用 ADODB.Connection 连接,显然就没有什么大问题了
可以写作
$stmt = $conn->Execute($sql);while(! $stmt->eof) { $res[] = arraay( 'banji' => $stmt->fields['banji']->value, 'sno' => $stmt->fields['sno']->value, 'name' => $stmt->fields['name']->value, 'kemu' => $stmt->fields['kemu']->value, 'chengji' => $stmt->fields['chengji']->value, ); $stmt->MoveNext();}总之与 asp 的写法基本一致
另外也可写用 obcd 函数组进行操作
非常感谢你的解答,学到了新知识
我又遇到个问题,经你指导成功将查询的记录集存储到数组中了,但如果多个班级,一个班级查询完得到一个数组,能再将班级名,和每个班级查询得到的数组一同存储在一个数组里?不知道我说明白没有,就是比如0601班级,和res[];0602班级和res[]。。。再存到数组里。班级不同得到的res不同,想把他们一起存到数组里,该如何做,又该怎么引用某一个值
array(
'0601班级' => array();
'0602班级' => array();
)