数据库查询中间层(PHP语言实现)
2010-06-09 17:04
162 查看
目标:实现数据库查询函数和业务逻辑的分离,以及查询类的复用.
设计步骤:
1.建立项目目录。
创建目录
将项目命名为tut,并分别建立conf和inc文件夹,在inc下建立class文件夹。
新增文件
在conf目录下新建conf.php文件,在inc/class下建立DAL.php,并在根目录下建立index.php文件。
2.创建测试数据库,并插入测试数据。
3.建立数据库连接。
/conf/conf.php文件中定义数据库连接变量,文件片段如下:
/inc/class/DAL.php建立数据库连接:
4.实现具体的查询函数。
5.实际项目中使用DAL类。
设计步骤:
1.建立项目目录。
创建目录
将项目命名为tut,并分别建立conf和inc文件夹,在inc下建立class文件夹。
新增文件
在conf目录下新建conf.php文件,在inc/class下建立DAL.php,并在根目录下建立index.php文件。
2.创建测试数据库,并插入测试数据。
3.建立数据库连接。
/conf/conf.php文件中定义数据库连接变量,文件片段如下:
<?php // Include DAL require_once(dirname(dirname(__FILE__)) . '/inc/class/DAL.php'); // Database define ( 'DB_HOST', 'localhost' ); define ( 'DB_USER', 'root' ); define ( 'DB_PASSWORD', 'password1' ); define ( 'DB_DB', 'tut' ); ?>
/inc/class/DAL.php建立数据库连接:
<?php class DAL { public function __construct(){} private function dbconnect() { $conn = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die ("<br>Could not connect to MySQL server"); mysql_select_db(DB_DB,$conn) or die ("<br>Could not select the indicated database"); return $conn; } } ?>
4.实现具体的查询函数。
class DALQueryResult { private $_results = array(); public function __construct(){} public function __set($var,$val){ $this->_results[$var] = $val; } public function __get($var){ if (isset($this->_results[$var])){ return $this->_results[$var]; } else{ return null; } } }
private function query($sql){ $this->dbconnect(); $res = mysql_query($sql); if ($res){ if (strpos($sql,'SELECT') === false){ return true; } } else{ if (strpos($sql,'SELECT') === false){ return false; } else{ return null; } } $results = array(); while ($row = mysql_fetch_array($res)){ $result = new DALQueryResult(); foreach ($row as $k=>$v){ $result->$k = $v; } $results[] = $result; } return $results; }
5.实际项目中使用DAL类。
相关文章推荐
- 笔记 Java web实现用户登录、数据库数据查询、数据删除等功能
- MySQL、SqlServer、Oracle三大主流数据库实现分页查询的方法
- 浅析C#如何连接数据库实现查询功能
- 从外部查询看数据库的内部实现机制
- JDBC实现增删改查、模糊查询、分页查询、子查询以及体现单例设计模式连接数据库
- 使用select实现数据库动态查询
- 树形结构的数据库实现,存储过程实现添加删除查询功能
- Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
- Flex for ArcGIS实现数据库地图查询
- MySQL、SQLServer2000(及SQLServer2005)和ORCALE三种数据库实现分页查询的方法
- 基于JNI技术,实现数据库查询,在C++中MD5匹配后回调至Java层的方案
- MySQL集群:主从数据库配置 实现查询负载
- 用简单工厂方法设计的数据库查询(JAVA代码实现)
- DICOM查询/获取信息模型的研究及关系数据库实现
- 如何实现多个文本框里面输入内容相关联来进行对数据库的查询实现
- Oracle跨数据库查询并插入实现原理及代码
- kettle中使用javascript步骤和fireToDB函数实现自己定义数据库查询
- 关于数据库中一张表存储树型数据的查询实现
- Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
- MySQL集群:主从数据库配置 实现查询负载