PHP+MYSQL开发的一个简单的数据录入查询系统,可以编异成一个exe文件放在桌面执行吗?

PHP+MYSQL开发的一个简单的数据录入查询系统,可以编异成一个exe文件放在桌面执行吗?,第1张

单机使用·不一定非要编译成exe除非你想达到某种加密的意思·

单机配置PHP环境有很多种,比如APMServ就很好用,图像化 *** 作·不过遗憾的是作者一直不发布新版本·

加密的话也很多·最典型的是ZEND 加密·目前来说反编译的不是很厉害·

还有把PHP+mysql封装到一个EX文件·我个人理解的是不能·因为要考虑MYSQL

<?php  

//数据库连接类,不建议直接使用DB,而是对DB封装一层  

//这个类不会被污染,不会被直接调用  

class DB {  

    //pdo对象  

    private $_pdo = null  

    //用于存放实例化的对象  

    static private $_instance = null  

      

    //公共静态方法获取实例化的对象  

    static protected function getInstance() {  

        if (!(self::$_instance instanceof self)) {  

            self::$_instance = new self()  

        }  

        return self::$_instance  

    }  

      

    //私有克隆  

    private function __clone() {}  

      

    //私有构造  

    private function __construct() {  

        try {  

            $this->_pdo = new PDO(DB_DNS, DB_USER, DB_PASS, array(PDO::MYSQL_ATTR_INIT_COMMAND=>'SET NAMES '.DB_CHARSET))  

            $this->_pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)  

        } catch (PDOException $e) {  

            exit($e->getMessage())  

        }  

    }  

      

    //新增  

    protected function add($_tables, Array $_addData) {  

        $_addFields = array()  

        $_addValues = array()  

        foreach ($_addData as $_key=>$_value) {  

            $_addFields[] = $_key  

            $_addValues[] = $_value  

        }  

        $_addFields = implode(',', $_addFields)  

        $_addValues = implode("','", $_addValues)  

        $_sql = "INSERT INTO $_tables[0] ($_addFields) VALUES ('$_addValues')"  

        return $this->execute($_sql)->rowCount()  

    }  

      

    //修改  

    protected function update($_tables, Array $_param, Array $_updateData) {  

        $_where = $_setData = ''  

        foreach ($_param as $_key=>$_value) {  

            $_where .= $_value.' AND '  

        }  

        $_where = 'WHERE '.substr($_where, 0, -4)  

        foreach ($_updateData as $_key=>$_value) {  

            if (Validate::isArray($_value)) {  

                $_setData .= "$_key=$_value[0],"  

            } else {  

                $_setData .= "$_key='$_value',"  

            }  

        }  

        $_setData = substr($_setData, 0, -1)  

        $_sql = "UPDATE $_tables[0] SET $_setData $_where"  

        return $this->execute($_sql)->rowCount()  

    }  

      

    //验证一条数据  

    protected function isOne($_tables, Array $_param) {  

        $_where = ''  

        foreach ($_param as $_key=>$_value) {  

            $_where .=$_value.' AND '  

        }  

        $_where = 'WHERE '.substr($_where, 0, -4)  

        $_sql = "SELECT id FROM $_tables[0] $_where LIMIT 1"  

        return $this->execute($_sql)->rowCount()  

    }  

      

    //删除  

    protected function delete($_tables, Array $_param) {  

        $_where = ''  

        foreach ($_param as $_key=>$_value) {  

            $_where .= $_value.' AND '  

        }  

        $_where = 'WHERE '.substr($_where, 0, -4)  

        $_sql = "DELETE FROM $_tables[0] $_where LIMIT 1"  

        return $this->execute($_sql)->rowCount()  

    }  

      

    //查询  

    protected function select($_tables, Array $_fileld, Array $_param = array()) {  

        $_limit = $_order = $_where = $_like = ''  

        if (Validate::isArray($_param) && !Validate::isNullArray($_param)) {  

            $_limit = isset($_param['limit']) ? 'LIMIT '.$_param['limit'] : ''  

            $_order = isset($_param['order']) ? 'ORDER BY '.$_param['order'] : ''  

            if (isset($_param['where'])) {  

                foreach ($_param['where'] as $_key=>$_value) {  

                    $_where .= $_value.' AND '  

                }  

                $_where = 'WHERE '.substr($_where, 0, -4)  

            }  

            if (isset($_param['like'])) {  

                foreach ($_param['like'] as $_key=>$_value) {  

                    $_like = "WHERE $_key LIKE '%$_value%'"  

                }  

            }  

        }  

        $_selectFields = implode(',', $_fileld)  

        $_table = isset($_tables[1]) ? $_tables[0].','.$_tables[1] : $_tables[0]  

        $_sql = "SELECT $_selectFields FROM $_table $_where $_like $_order $_limit"  

        $_stmt = $this->execute($_sql)  

        $_result = array()  

        while (!!$_objs = $_stmt->fetchObject()) {  

            $_result[] = $_objs  

        }  

        return Tool::setHtmlString($_result)  

    }  

      

    //总记录  

    protected function total($_tables, Array $_param = array()) {  

        $_where = ''  

        if (isset($_param['where'])) {  

            foreach ($_param['where'] as $_key=>$_value) {  

                $_where .= $_value.' AND '  

            }  

            $_where = 'WHERE '.substr($_where, 0, -4)  

        }  

        $_sql = "SELECT COUNT(*) as count FROM $_tables[0] $_where"  

        $_stmt = $this->execute($_sql)  

        return $_stmt->fetchObject()->count  

    }  

      

    //得到下一个ID  

    protected function nextId($_tables) {  

        $_sql = "SHOW TABLE STATUS LIKE '$_tables[0]'"  

        $_stmt = $this->execute($_sql)  

        return $_stmt->fetchObject()->Auto_increment  

    }  

  

  

    //执行SQL  

    private function execute($_sql) {  

        try {  

            $_stmt = $this->_pdo->prepare($_sql)  

            $_stmt->execute()  

        } catch (PDOException  $e) {  

            exit('SQL语句:'.$_sql.'<br />错误信息:'.$e->getMessage())  

        }  

        return $_stmt  

    }  

}  

?>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5903362.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存