执行SQL语句$result = $db->Execute("SELECT * FROM employees");
if ($result === false) die("failed");
这将向服务器发送一个SQL声明。如果执行成功Execute()将返回一个recordset对象。 你应该像上面那样检查$result . 可能把初学者弄糊涂的问题是在ADODB里有两类对象,connection对象和recordset 对象。我们分别在什么时候用它们呢? connection 对象($db) 负责连接到数据库,格式化你的SQL语句,并向数据库发出查询 请求。Recordset对象($result)负责获取结果,并将响应转化为文本或者一个数组。 我需要补充的唯一一点是:ADODB提供许多辅助函数,使得使用INSERT和UPDATE声明更 简单。这些辅助函数会在高级部分提到。 获取数据while (!$result->EOF) { for ($i=0, $max=$result->FieldCount(); $i < $max; $i++) print $result->fields[$i].'''' ''''; $result->MoveNext(); print "<br>\n"; } 得到数据的范例像是在读取一个文件。对于每一行,我们首先检查是否读到了文件末 尾(EOF)。如果未读到文件末尾,循环读取每一行的各个字段。然后转到下一行 (MoveNext),重复上面的操作。 $result->fields[] 数组由PHP数据库扩展(extensions)生成。 一些数据库扩展不 支持使用字段名称作为字段索引。要强制使用名称索引―也就是联合数组―要使用 $ADODB_FETCH_MODE 全局变量。
$ADODB_FETCH_MODE = ADODB_FETCH_NUM; $rs1 = $db->Execute(''''select * from table''''); $ADODB_FETCH_MODE = ADODB_FETCH_ASSOC; $rs2 = $db->Execute(''''select * from table''''); print_r($rs1->fields); // 显示 数组([0]=>''''v0'''',[1] =>''''v1'''') print_r($rs2->fields); // 显示 数组([''''col1'''']=>''''v0'''',[''''col2''''] =>''''v1'''') 就像你在上面的例子里看到的那样,当Execute()创建recordset的时候,两个 recordset对象都存储和使用了基于$ADODB_FETCH_MODE设置的不同获取模式。 ADOConnectionADODB对象,用来建立数据库连接,执行SQL声明,并具有一系列能使针对连接和日期 格式之类问题的SQL语句格式标准化的功能函数。 其它有用的函数$recordset->Move($pos) 转到指定行. ADODB 支持所有数据库的向前移动 (forward scrolling)。一些数据库不支持向后移动(backwards scrolling)。 通常情况下这没什么关系,因为你总是可以通过缓存记录来模拟向后移动。
$recordset->RecordCount() 返回SQL声明选取的记录数。一些数据库会返回-1 因为它不支持这项操作。
$recordset->GetArray() 以数组形式返回结果.
rs2html($recordset) 是一个函数,它根据传给它的$recordset 生成一个HTML表格. 一个例子(相应行用粗体标识):
include(''''adodb.inc.php''''); include(''''tohtml.inc.php''''); /* 将 rs2html 函数包含进来 */ $conn = &ADONewConnection(''''mysql''''); $conn->PConnect(''''localhost'''',''''userid'''',''''password'''',''''database''''); $rs = $conn->Execute(''''select * from table''''); rs2html($rs); /*根据 recordset 生成html表格 */ http://php.weblogs.com/adodb_manual上的文档里列出许多其它辅助函数。
上一页 [1] [2] [Web开发]使用XMLHttp和ADODB.Stream取得远程文件并保存到本… [Web开发]ASP中利用ADODB.Stream对象将字节流转换为字符流 [Web开发]指南:从MySQL转向ADODB(2) [Web开发]面向对象的asp编程之五--adodb的类封装 [Web开发]PHP技巧--通过COM使用ADODB [Web开发]adodb Stream 详细用法 [Web开发]MMCACHE+PHP5+ADODB出现内存溢出的问题 [Web开发]smarty+adodb+部分自定义类的php开发模式 [Web开发]利用VBScript及ADODB.Steam获取部分格式图象长宽 [Web开发]adodb Stream 详细用法 选择自 3cts 的 Blog
|