1 <!-- 2 PHP PEAR DB类部分函数说明:更多函数可参考pear/db.php和pear/db/common.php 3 connect():数据库链接函数 4 query():SQL语句执行函数 5 execute():SQL语句执行函数,与query()函数使用方式略有不同,具体可参考pear/db/common.php文件 6 setFetchMode():设定返回记录集是数字索引数组还是关联数组或者对象 7 numRows():返回记录集有多少行 8 numCols():返回记录集有多少列 9 free():释放记录集 10 disconnect():关闭数据库链接 11 affectedRows():操作影响的记录行数 12 isManip():判断一个查询是数据处理还是数据定义操作 13 14 --> 15 16 <?php 17 //引入PDB库 18 require_once("DB.php"); 19 //设定访问的数据库、登录名、密码、主机 20 $userName = ‘root‘; 21 $password = ‘a12345‘; 22 $hostName = ‘localhost‘; 23 $dbName = ‘db_chengxl‘; 24 //设定DSN参数,并进行数据库链接,我连接的数据库为Mysql 25 $dsn = "mysql://$userName:$password@$hostName/$dbName"; 26 27 $dbCon = DB::connect($dsn); 28 //错误处理 29 if (DB::isError($dbCon)) { 30 die ($dbCon->getMessage()); 31 } 32 33 //创建数据表,并插入测试数据 34 /* 35 $sql = "CREATE TABLE cxl (" . 36 "`id` INT( 11 ) UNSIGNED NOT NULL ," . 37 "`name` VARCHAR( 30 ) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL ," . 38 "`age` INT( 2 ) NOT NULL ," . 39 "`birthday` VARCHAR( 30 ) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL ," . 40 "`sex` INT( 1 ) NOT NULL ," . 41 "PRIMARY KEY ( `id` )" . 42 ") ENGINE = MYISAM CHARACTER SET gbk COLLATE gbk_chinese_ci"; 43 44 $result = $dbCon->query($sql); 45 46 if (DB::isError($result)) { 47 die ($result->getMessage()); 48 49 } 50 51 $sql = "insert into cxl(id,name,age,birthday,sex) values(1,‘cxl‘,1,‘2009-05-13‘,1),(2,‘cxl‘,1,‘2009-05-13‘,1),(3,‘cxl‘,1,‘2009-05-13‘,1)"; 52 53 $result = $dbCon->query($sql); 54 55 if (DB::isError($result)) { 56 die ($result->getMessage()); 57 }*/ 58 59 60 //setFetchMode函数是PHP PEAR DB让用户设定返回记录集是数字索引数组还是关联数组或者对象, 61 //此处我设定为关联数组的形式。默认DB_FETCHMODE_ORDERED模式, 62 //其他两种模式为DB_FETCHMODE_ASSOC与DB_FETCHMODE_OBJECT 63 64 //获取数据 65 /*$dbCon->setFetchMode(DB_FETCHMODE_ASSOC); 66 67 $sql = "select * from cxl"; 68 69 $result = $dbCon->query($sql); 70 71 72 if (DB::isError($result)) { 73 die ($result->getMessage()); 74 } 75 for ($i = 0; $i < $result->numRows(); $i++) { 76 $info = &$result->fetchRow(); 77 78 echo "name:" . $info[‘name‘]; 79 echo "birthday:" . $info[‘birthday‘] . "<br>"; 80 } 81 82 */ 83 84 //总数 85 /* 86 * $colCount = $result->numCols(); 87 * echo "<tr><td colspan=\"".$colCount."\">共找到".$result->numRows()."位用户</td></tr>"; 88 */ 89 90 91 //function &getOne($query, $params = array()) 92 //执行查询,并返回结果集中第一行第一列的数据。$params是参数值,如果后端数据库支持,将调用prepare/execute来使用这些参数。 93 94 /* 95 $sql = "select * from cxl"; 96 $last = $dbCon->getOne($sql); 97 if(DB::isError($last)){ 98 echo "出错:".DB::errorMessage($last); 99 } 100 echo "id:".$last;*/ 101 102 //function &getAll($query, $fetchmode = DB_FETCHMODE_DEFAULT, $params = array()) 103 //返回包含结果集中全部记录的数组。注意,如果你的结果集很大,不要使用这个函数。 104 /* 105 $sql ="select * from cxl limit 1000"; 106 $list = $dbCon->getAll($sql); 107 if(DB::isError($list)){ 108 die( "数据库错误:".DB::errorMessage($list)); 109 } 110 for ($i=0;$i<count($list);$i++){ 111 $user = $list[$i]; 112 echo "<tr>"; 113 for($j=0;$j<count($user);$j++){ 114 echo "<td>".$user[$j]."</td>"; 115 } 116 echo "</tr>"; 117 } 118 */ 119 120 121 //function &getCol($query, $col = 0, $params = array()) 122 //执行查询,并返回包含结果集中指定字段列的值的数组。 123 //$col是要返回的列的索引,可以是整数,或者是关键字段名。 124 /*$sql = "select id ,age,name from cxl order by age desc limit 100"; 125 $row = $dbCon->getCol($sql,1); 126 if(DB::isError($row)){ 127 echo "出错:".DB::errorMessage($row); 128 } 129 for($i=0;$i<count($row);$i++){ 130 echo "<tr>$row[$i]</tr>"; 131 }*/ 132 133 134 //function &getRow($query, $fetchmode = DB_FETCHMODE_DEFAULT, $params = array()) 135 //执行查询,请返回结果集的第一条记录。 136 //$fetchmod 指定fetch模式,如果省略,使用缺省模式。 137 138 /* 139 $sql = "select * from cxl order by id desc"; 140 $row = $dbCon->getRow($sql); 141 if(DB::isError($row)){ 142 echo "出错:".DB::errorMessage($row); 143 } 144 for($i=0;$i<count($row);$i++){ 145 echo "<td>$row[$i]</td>"; 146 } 147 */ 148 149 150 //function &getAssoc($query, $force_array = false, $params = array()) 151 //执行查询,并返回一个关联数组。 152 //$force_arry 强制返回数组。如果true,那么即使你的结果集里只有2个字段,那么关键字段对应的值也是一个只有一个元素的 153 //数组。如果false,那么关键字段对应的值是一个标量了。 154 /* 155 $sql = "select id,name,age from cxl limit 100"; 156 $userinfo = $dbCon->getAssoc($sql); 157 if (DB::isError($userinfo)) { 158 die("错误!" . DB::errorMessage($userinfo)); 159 } 160 //var_dump($userinfo); 161 if (empty($userinfo)) { 162 echo "warning:NO users!"; 163 return; 164 165 } 166 167 $info = $userinfo[‘2‘]; 168 if (empty($info)) { 169 echo "没有这个用户信息!"; 170 } 171 print_r($info); 172 //var_dump($info); 173 */ 174 175 176 //释放 177 $result->free(); 178 //关闭连接 179 $dbCon->disconnect(); 180 181 ?>
以上资料均来源网络,
PHP PEAR DB类安装与使用实例详解:http://www.alixixi.com/program/a/2011101775410.shtml
PEAR:创建中间的数据库应用层1:http://www.alixixi.com/program/a/2008020831340.shtml
PEAR:创建中间的数据库应用层2:http://www.alixixi.com/program/a/2008020831341.shtml
原文:http://www.cnblogs.com/Darlin356230410/p/4969754.html