【问题标题】:how to properly work with sqlite in a php class如何在 php 类中正确使用 sqlite
【发布时间】:2021-12-11 07:47:12
【问题描述】:

如何在课堂上正确使用 sqlite

我想创建一个类,在其方法中,必须根据参数引用 sqlite 数据库。

如何正确组织这些连接?

比如这样的

class Text {
    private $lang = 'EN';
    private $id;
    private $text;

    public function __construct($lang) {
        GLOBAL $db;

        $this->lang = $lang;
        
        $db = new SQLite3("./$this->lang/text.db");
    }

    public function dbSelectQuery($key) {
        GLOBAL $db;

        $stm = $db->query("SELECT * FROM TEXT WHERE KEY = '$key'");
        $result = $stm->fetchArray(SQLITE3_ASSOC);

        return $result['text'];
    }

    public function setText($key) {
        $this->text = $this->dbSelectQuery($key);
    }
}

【问题讨论】:

    标签: php sqlite


    【解决方案1】:

    您可以使用字符串插值"./{$lang}/text.db"按参数选择db。

    我还删除了所有全局变量。您可以使用其他私有变量来处理它,并且不需要 GLOBAL

    class Text {
        private $lang = 'EN';
        private $id;
        private $text;
        private $db;
    
        public function __construct($lang) {
            $this->lang = $lang;
            
            $this->db = new SQLite3("./{$lang}/text.db");
        }
    
        public function dbSelectQuery($key) {
            $stm = $this->db->query("SELECT * FROM TEXT WHERE KEY = '$key'");
            $result = $stm->fetchArray(SQLITE3_ASSOC);
    
            return $result['text'];
        }
    
        public function setText($key) {
            $this->text = $this->dbSelectQuery($key);
        }
    }
    
    

    【讨论】:

    • 这是使用 sqlite 的正确方法吗?有什么好的项目可以看
    猜你喜欢
    • 2018-09-03
    • 1970-01-01
    • 2019-03-21
    • 1970-01-01
    • 2010-09-13
    • 1970-01-01
    • 2012-11-09
    • 2016-07-14
    • 2020-07-01
    相关资源
    最近更新 更多