PHP数据库操作类ADODB 详解.docVIP

  • 8
  • 0
  • 约1.33万字
  • 约 13页
  • 2018-04-01 发布于江西
  • 举报
PHP数据库操作类ADODB 详解

PHP数据库操作类ADODB 详解 1.GetAll方法 我们可以使用GetAll方法代替Execute()方法,该方法返回的结果为一个二维关联数据,这样可以使用foreach或for循环语句处理,非常方便。另外,GetAll取得的数组与Smarty模板的foreach配合得非常好。 我们一起看下面的脚本例子: ?php include_once(libs/adodb/adodb.inc.php); // 创建一个mysql连接实例对象 $db = NewADOConnection(mysql); // 打开一个数据库连接 $db-Connect(localhost, root, root, library) or die(Unable to connect); // 构造并执行一个查询 $query = SELECT * FROM library; $result = $db-GetAll($query) or die(Error in query: $query. . $db-ErrorMsg()); // 清除无用的对象 $db-Close(); // 可以使用print_r打印该数组的内容 // print_r($result); exit(0); // 遍历记录集,显示列的内容:TITLE 和AUTHOR foreach ($result as $row){ echo $row[1] . - . $row[2] . \n; } // 取得和显示返回的记录行数 echo \n[ . sizeof($result) . 行记录被返回]\n; ? GetAll()方法取得记录集后,产生一个二维数组,类似于下面的样子: Array ( [0] = Array ( [0] = 14 [id] = 14 [1] = Mystic River [title] = Mystic River [2] = Dennis Lehane [author] = Dennis Lehane ) [1] = Array ( [0] = 15 [id] = 15 [1] = For Kicks [title] = For Kicks [2] = Dick Francis [author] = Dick Francis ) //下略 ) 我们在数组一章,提到过这类混合数组最适合用foreach来处理。这种方法是对Execute()方法的补充或替代,尤其适合在遍历查询整个表时使用。 另外,ADODB还提供取得一条记录的方法:GetOne()。 2.GetOne()方法 ADODB有个比较直接的方法可以比较方便地检测某条记录是否存在,那就是它的GetOne($sql)方法。 该方法返回查询记录的第1条第1个字段名的值,如果执行过程中出现错误,则返回布尔值false。 我们可以检测这个值是否存在: ?php Include_once(libs/adodb/adodb.inc.php); // 创建一个mysql连接实例对象 $db = NewADOConnection(mysql); // 打开一个数据库连接 $db-Connect(localhost, “root”, “passwd”, “adodb”) or die(Unable to connect!); $rs = $db-GetOne(SELECT * FROM library WHERE id=$id); if($rs){ echo 记录存在; }else { echo 记录不存在; } ? 不过这样有一个问题是,如果数据表中id=$id的记录有多条,不仅仅要知道是否存在有这样一条记录,还要把这条记录提取出来,则可以使用ADODB的GetRow()方法。 3.GetRow()方法 ?php Include_once(libs/adodb/adodb.inc.php); // 创建一个mysql连接实例对象 $db = NewADOConnection(mysql); // 打开一个数据库连接 $db-Connect(localhost, “root”, “passwd”, “adodb”) or die(Unable to connect!); $rs = $db-GetRow(SELECT * FROM library WHERE id=$id); if(is_array($rs)){ echo 记录存在; print_r($rs); } else { echo 记录不存在; } ? 需要注意的是,GetOne($sql) 和 GetRow($sql) 都能得到一条特定的记录,或者得到该记录不存在的信息,但是如果符合查询条件的记录存在多条时,则这两

文档评论(0)

1亿VIP精品文档

相关文档