zoukankan      html  css  js  c++  java
  • UCHome: 数据库类class_mysql.php

    UCHome针对MySQL数据库实现了一个封装类,没有使用ADODB或者PEAR这样的开源数据库框架,这样做的好处是文件非常少,空间非常小。

    1. 数据库配置
    和很多的PHP项目一样,UCHome的数据库配置放在了配置文件config.php中,从第9行到16行:

    $_SC['dbhost']          = 'localhost'; //督????
    $_SC['dbuser']          = 'root';
    $_SC['dbpw']              = ''; 
    $_SC['dbcharset']         = 'utf8'; 
    $_SC['pconnect']         = 0; 
    $_SC['dbname']          = 'comsenz'; 
    $_SC['tablepre']         = 'uchome_'; 
    $_SC['charset']         = 'utf-8'; config.php的内容由安装程序写入,写入后由common.php引入,引入后的内容存放在全局变量$_SC中

    2. 数据库连接
    在common.php的第42行,有这样一个函数调用:
    dbconnect();函数dbconnect()的作用就是执行数据库连接处理,其定义在function_common.php(该文件由common.php引入)的第108行到118行:

    function dbconnect() {
        global $_SGLOBAL, $_SC;
    
        include_once(S_ROOT.'./source/class_mysql.php');
    
        if(empty($_SGLOBAL['db'])) {
            $_SGLOBAL['db'] = new dbstuff;
            $_SGLOBAL['db']->charset = $_SC['dbcharset'];
            $_SGLOBAL['db']->connect($_SC['dbhost'], $_SC['dbuser'], $_SC['dbpw'], $_SC['dbname'], $_SC['pconnect']);
        }
    }

    source/class_mysql.php是UCHome的MySQL封装类,从上面的函数定义可以看到,MySQL的封装类类名是dbstuff,dbconnect()函数创建了该类的一个实例,然后设置字符编码和执行连接,类实例放在了$_SGLOBAL['db']。


    3. 表明前缀
    很多的PHP项目都可以配置表明前缀,这样做的目的是可以在一个数据库里面实现同一个程序的多次安装,UCHome也可以。UCHome的表明前缀是通过$_SC['tablepre']配置的,默认值为uchome_。执行SQL查询时,通过调用函数tname()来增加前缀。
    函数tname()的定义在function_common.php的第216行到219行:

    function tname($name) {
        global $_SC;
        return $_SC['tablepre'].$name;
    }

    具体用法:

    $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('magicinlog');

    4. 数据库查询
    一个数据库查询的例子:

    $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('magicinlog');
    while ($value = $_SGLOBAL['db']->fetch_array($query)) {
        $list[] = $value;
    }
  • 相关阅读:
    python--logging库学习_第一波
    花瓶并发请求的方法
    adb命令记录
    设置苹果机参数
    Appium 服务命令行参数
    sdk下载地址
    Monkey记录
    花瓶使用笔记 (抓数据时,记得添加host,不然抓不了包的)
    selenium笔记2017
    Mac安装appium 问题记录
  • 原文地址:https://www.cnblogs.com/eastson/p/2837887.html
Copyright © 2011-2022 走看看