为了账号安全,请及时绑定邮箱和手机立即绑定

PHP中类采样的孔隙度

PHP中类采样的孔隙度

PHP
小唯快跑啊 2022-01-23 10:48:55
你好亲爱的 可能我为这个讨论选择的主题可能不是很合适,但让我们来解决问题在 PHP 中,我有一个名为的类DB,在此class我编写数据库关系以连接到数据库:class DB {    private static $_dbConnect = null,    $dbUser = DB_USER,    $dbPass = DB_PASS,    $dbName = DB_NAME,    $dbTable = null;    function __construct($dbTable) {        self::$dbTable = $dbTable;        if (!isset(self::$_dbConnect) || self::$_dbConnect == null) {            try {                self::$_dbConnect = new PDO("mysql:host=localhost;dbname=".self::$dbName,self::$dbUser,self::$dbPass);                $isResult = self::$_dbConnect->prepare("SHOW TABLES FROM ".self::$dbName." LIKE '${dbTable}'");                if ($isResult->rowCount() == 0) {                    $isQuery = "";                    if ($dbTable == DB_TABLES['user']) {                        $isQuery = ""; //write user table query                    } else if ($dbTable == DB_TABLES['admin']) {                        $isQuery = ""; //write admin table query                    }                    self::$_dbConnect->prepare($isQuery);                }            } catch (PDOException $e) {                throw $e->getMessage();            }        }    }    private function ifString($strings=[],$sep='&') {}    private function stringSep($strings=[]) {}    public function existValue($strings=[]) {}    public function insertTB($data=[],$ifArray=[]) {}    public function getDataTB($ifArray=[]) {}    public function updateTB($data=[],$ifArray) {}    public function deleteTB($ifArray) {}    public function getAllRecords($ifArray=[]) {}    function __destruct() {        if (isset(self::$_dbConnect) || self::$_dbConnect != null) {            self::$_dbConnect = null;        }    }}但问题是因为我在 中定义了数据库连接__construct,当我同时运行它的两个实例时会遇到麻烦class:$DB['user'] = new DB(DB_TABLES['user']);$DB['admin'] = new DB(DB_TABLES['admin']);问题是现在当我尝试使用时$DB['user'],事情已经完成了$DB['admin']有解决方案的朋友吗?
查看完整描述

1 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

删除static了声明_dbConnect。static 意味着变量只定义一次,无论创建了多少类实例。

private $_dbConnect = null,

如果$_dbConnect不是静态的,则对的引用self::$_dbConnect应替换为$this->$_dbConnect.


查看完整回答
反对 回复 2022-01-23
  • 1 回答
  • 0 关注
  • 101 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信