首页 > 数据库技术 > 详细

PEAR DB 初学笔记

时间:2015-11-16 19:33:55      阅读:366      评论:0      收藏:0      [点我收藏+]
  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

PEAR DB 初学笔记

原文:http://www.cnblogs.com/Darlin356230410/p/4969754.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!