这个 ACCESS数据库操作类 不错,和ADOBO的用法一样,有时候做网站客户要求用ACCESS,毕竟MYSQL要用钱来买空间,而ACCESS就比较灵活,当然这只实用于小型的网站,比如企业网站等。 <?phpclass Access{ var $conn; var $fieldsName; function Access() { } //connection function Connect($dsn) { $this->conn = new COM("ADODB.Connection") or die("Cannot start ADO"); $this->conn->Open($dsn); } //返回一个 function GetOne($sql) { $rs = $this->conn->Execute($sql); while (!$rs->EOF) { $value=$rs->Fields(0)->value; $rs->MoveNext(); } $rs->Close(); $rs=null; if(!empty($value)) { return $value; } else { return ""; } unset($value); } //返回大数组 function GetArray($sql) { $rs = $this->conn->Execute($sql); $num_columns = $rs->Fields->Count(); $rowcount = 0; while (!$rs->EOF) { for ($i=0; $i < $num_columns; $i++) { $fieldName[$rowcount][$rs->Fields($i)->name]= $rs->Fields($i)->value; } $rowcount++; $rs->MoveNext(); } $rs->Close(); $rs=null; if(!empty($fieldName)) { return $fieldName; } else { return ""; } unset($fieldName); } //返回小数组 function GetRow($sql) { $rs = $this->conn->Execute($sql); $num_columns = $rs->Fields->Count(); while (!$rs->EOF) { for ($i=0; $i < $num_columns; $i++) { $fieldName[$rs->Fields($i)->name]=$rs->Fields($i)->value; } $rs->MoveNext(); } $rs->Close(); $rs=null; if(!empty($fieldName)) { return $fieldName; } else { return ""; } unset($fieldName); } //execute SQL function Execute($sql) { if($this->conn->Execute($sql)) { return true; } else { return false; } } function Close() { $this->conn->Close(); } function __destruct() { // $this->conn->Close(); }}?>