PHP - 无法将会话变量设置为类staticdefault值

问题描述 投票:0回答:1

如何在此类中更改会话值时,将$dbname设置为更改?无论我尝试什么,我总是得到错误。

class db_config
{

    // default connection
    public static $dbname = $_SESSION['db_to_use']; // Your database name
    public static $dbuser = 'root'; // Your database username
    public static $dbpass = 'xxxxxxx'; // // Your database password
    public static $dbhost = 'localhost';
....

}

提前致谢

php class session-variables
1个回答
1
投票

您可以使用以下内容:

<?php
session_start();
$_SESSION['db_to_use'] = 'mydatabase';

class db_config
{

    // default connection
    public static $dbname = '';
    public static $dbuser = 'root'; // Your database username
    public static $dbpass = 'xxxxxxx'; // // Your database password
    public static $dbhost = 'localhost';

    public function __construct()
    {
        $this->setDbName();
    }

    public function setDbName()
    {
        if(isset($_SESSION['db_to_use']) && !empty($_SESSION['db_to_use'])) {
            self::$dbname = $_SESSION['db_to_use']; // Your database name
        } else {
            return false;
        }
    }
}

$con = new db_config();
echo 'db_name : ' . $con::$dbname;
© www.soinside.com 2019 - 2024. All rights reserved.