ECShop - 数据库操作类

来源:互联网 发布:常见软件生命周期模型 编辑:程序博客网 时间:2024/06/08 02:48



http://blog.csdn.net/amonest/article/details/6326041



ECShop v2.7.2没有使用一些开源的数据库操作类,比如adodb或者PEAR,而是封装了自己的实现。这样做的好处是实现非常轻量,只有一个文件,27Kb,大大减小了分发包的文件大小。另外,当网站需要做memcached缓存时,也可以很方便的实现。当然,这样做的后果就是数据库的选择非常狭窄,无法实现其它的非MySQL数据库。


CShop的数据操作类文件是includes/cls_mysql.php,类名是cls_mysql。该类主要提供了下面 一些比较有用的方法:

  • getAll($sql)和getAllCached($sql, $cached = 'FILEFIRST'):获取所有记录。
  • getRow($sql, $limited = false)和getRowCached($sql, $cached = 'FILEFIRST'):获取单行记录。
  • getCol($sqlse)和getColCached($sql, $cached = 'FILEFIRST'):获取某栏位的所有值。
  • getOne($sql, $limited = false)和getOneCached($sql, $cached = 'FILEFIRST'):获取单个数值。
  • query($sql):执行数据库查询。
  • autoExecute($table, $field_values, $mode = 'INSERT', $where = ''):数据库表操作。
现在我们以实例的方式来说明这些方法如何使用。首先,在ecshop/admin目录下新增文件test_mysql.php,文件内容如下:


  1. <?php  
  2.   
  3. define('IN_ECS', true);   
  4. define('EC_CHARSET''utf-8');  
  5. define('ROOT_PATH''D:/Program Files/Zend/Apache2/htdocs/ecshop/');  
  6. define('DATA_DIR''data');  
  7.   
  8. $db_host = "localhost:3306";   
  9. $db_name = "ecshop";   
  10. $db_user = "root";   
  11. $db_pass = "";   
  12.   
  13. require('../includes/cls_mysql.php');   
  14. $db = new cls_mysql($db_host$db_user$db_pass$db_name); 


0 0
原创粉丝点击